"zsh: command not found: expo" despite it being installed - ios

I recently bought MacBook Pro (13-inch, 2020 i5) and downloaded expo globally, now the problem which i am facing is it keeps saying expo command not found despite it being installed.
I have tried various soultions such as:
https://forums.expo.io/t/expo-cli-looks-installed-but-expo-command-not-found/14535
(NOTE: The newer version of macOS does not have .bash_profile anymore and has .zprofile instead)
https://www.youtube.com/watch?v=gkqsLRDnqlA
But none of the solution works.
However, to check if it actually works, I cloned one of my projects from work and just changed the script from package.json and runned it from NPM SCRIPT and it does fire up (so it's just the command line that shows command not found and doesn't allow me to init the project and none of the solutions works from the google somehow.

Related

flipper: Desktop failed to provide certificates. Error from flipper desktop

Getting a flipper error log while i am trying to run ios app from xcode.
flipper: Desktop failed to provide certificates. Error from flipper desktop:
rsocket::StreamInterruptedException: connection error
App is working smoothly, no issues found. But this log is coming in every 1 second.
Is there any way to fix this issue?
I had the same issue and I finally found a way to resolve this.
I assume you're getting this error when you try to debug your app with a real iOS device.
These are the steps I took.
You need to run Flipper Desktop on your background. It has an integrated React-devtools plugin. Download it from fbflipper.com. Follow the instructions on their docs it's simple and quite straightforward.
At this point you won't have the same error message. (It will say that the certificate is ok.) However, if you encounter any issues with idb binary location (which I did on my M1 machine), this new message will pop every second and Flipper interface will tell you that the device is not found. Just make sure to find the right idb binary location and configure it, restart Flipper, and this will be resolved one and for all. Mine was in "/opt/homebrew/bin/idb".
TL: DR;
idb_companion was built for newer Swift enviroments, but I was still using Big Sur. After upgrading my MacOS, Flipper managed to connect to my iOS device fine.
Of course I explain below that I build idb from the source to match the version 1.1.8 for both idb_companion and idb.
Below I also explain how I found the error that was crashing idb_companion preventing Flipper from maintaining a stable connection and restarting several times yielding the message: [conn] ... restarted 4 times in 20 seconds.
What I learned:
idb_companion runs on my Mac in the background as a server that knows how to control or get logs from iOS physical devices;
idb is a command line interface that Flipper can use for communicating with idb_companion.
I was able to install idb_companion#1.1.8 using Homebrew. But I was not able to install the same version 1.1.8 for the cli (aka idb (aka fb-idb)).
So I decided to build the idb from the github repo. The command line for building it was
pip3.9 install .
First I struggled with an error related to grpclib version. Apparently idb required the version 0.4.1 but I had 0.4.3 installed. To downgrade grpclib I used the following command:
pip3.9 install grpclib==0.4.1
I also tried to make sure there was no other grpclib installed in other python version, so I ran a bunch of
pip3 install grpclib==0.4.1
pip3.7 install grpclib==0.4.1
pip3.9 install grpclib==0.4.1
To see which version of python I had, I ran a bunch of
which pip
which pip3
which pip3.6
which pip3.7
which pip3.8
which pip3.9
which pip3.10
Anyways...
As I was randomly trying to build idb with those different python versions, with and without sudo, I also faced the following error, which was fixed just by adding sudo again to the build command.
ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/Users/alexandrelage/Library/Python/3.9/lib'
Check the permissions.
Anyways...
Basically after fixing the grpclib requirement, pip3.9 install . inside the source folder was enough for building idb (client, on version 1.1.8).
Of course I had to go to Flipper >> Settings and update the idb path. All seemed good.
Unfortunately that was not enough, Flipper kept on trying to connect to my iPhone device with no success. Then I copied the idb command Flipper was trying to run:
/Library/Frameworks/Python.framework/Versions/3.7/bin/idb file pull --log DEBUG --udid 00008020-000A7D2C36DUMMYDUMMY --bundle-id org.reactjs.native.example.MyExample 'Library/Application Support/sonar/app.csr' '/var/folders/r6/xrp3nw8j4wj45mvdpnlzlv740000gn/T/tmp-10199-CW6olKXUvwek/app.csr'
I was lucky to run the command above while I was also running idb_companion on another tab. The command I used to manually start idb_companion was:
idb_companion --uidid 00008020-000A7D2C36DUMMYDUMMY
I was lucky because I noticed the idb_companion tab stopped running when I tried to run the idb (client) command above I copied from Flipper. I restarted idb_companion again and tried to run the idb (client) command again. Then I realized idb_companion was crashing with an error message:
...
2022-10-21 18:14:11.853-0300 Starting swift server on tcp port 10882
2022-10-21 18:14:11.854-0300 Swift server started on [IPv6]::/:::10882
{"grpc_swift_port":10882,"grpc_port":10882}
2022-10-21 18:14:11.854-0300 Companion will stay alive if target goes offline
2022-10-21 18:14:30.997-0300 Start of connect
dyld: lazy symbol binding failed:
can't resolve symbol _$sScCMa in
/usr/local/Cellar/idb-companion/1.1.8/bin/../Frameworks/IDBGRPCSwift.framework/Versions/A/IDBGRPCSwift
because dependent dylib #rpath/libswift_Concurrency.dylib could not be loaded
dyld: can't resolve symbol _$sScCMa in
/usr/local/Cellar/idb-companion/1.1.8/bin/../Frameworks/IDBGRPCSwift.framework/Versions/A/IDBGRPCSwift
because dependent dylib #rpath/libswift_Concurrency.dylib could not be loaded
That indicated there was something else going on. It seemed idb_companion was built for a Swift environment different to mine. I looked for this error on Google and realized my XCode was outdated. In fact I was still using Big Sur.
Now I upgraded my MacOS to Montrey, Flipper manages to connect to my iOS device fine. And I haven't even upgraded my XCode yet.
Open Flipper > Settings > Enable physical iOS devices
Just grouping everything together, because I had a hard time with this issue...
Open Flipper. In the lower-left corner, click on the gear icon and then on Settings.
Be sure to enable the "Enable physical iOS devices" option.
On "IDB binary location", you'll probably see an alert sign (⚠️). If that is the case, it means you do not have an idb client or it is not right located.
Follow ALL these steps to install the idb companion and idb client.
If you do not have python install: brew install python3. Then try to repeat step 4.
If everything went right, your idb and idb-companion should be located at "/opt/homebrew/bin". So now you can go back to Flipper > Gear Icon > Settings, paste the path "/opt/homebrew/bin/idb" and the alert sign (⚠️) on the right will disappear.
If you still have the alert sign it means your idb file is not in the right location. There are several alternatives in this git post that solve this issue, so check them out.

Export flutter PATH makes docker cli and/or npm not working

I have the following problem.
I noticed that, once i installed flutter and added its path to my .zshrc file, like this
export PATH={$PATH}:/Users/matteo/Documents/flutter/bin
I have problems with docker and/or npm. (E.G. I get the error docker: command not found)
I tried moving my line of code in different places in my .zshrc file, and it seems like depending on where my line of code is placed, sometimes only docker is not found, sometimes only npm, sometimes both of them.
Are there any connection, maybe under the hood, between those 3 application?
My computer is a Macbook Pro with Big Sur 11.4 and M1 chip.
Thanks for help,
Matteo.
you are exporting the path the wrong way, you should add it as follows:
export PATH="$PATH:/Users/matteo/Documents/flutter/bin"
After you have updated the ".zshrc" file, run this command to ensure changes have been notified to OS
source ~/.zshrc
Reference: https://flutter.dev/docs/get-started/install/macos

Flutter run command error : FlutterView.send called on a detached view

Can anyone tell me why my app is not installing at all and ending with the error message
Observatory connection never became ready.
the app was working perfectly fine until yesterday .
I have changed the channel to master yesterday in the command prompt and from then on the app never runs.
I even switched back to channel alpha but still no use.
I have attached a screenshot of the command prompt where the installation was stuck forever.
I am not so sure if I need to reinstall the flutter. I am worried if I uninstall the flutter now it may not configure properly and I might break it forever.
Please can someone tell me what exactly might have gone wrong.
Many Thanks,
Mahi
Instead of reinstall try with following: (Mac)
Set Path Variable: via following terminal command
export PATH=~/flutter/bin:$PATH;
that is bin folder path of flutter.
export PATH=[PATH_TO_FLUTTER_GIT_FOLDER]/bin:$PATH
https://flutter.io/setup-macos/#update-your-path
If above not worked. Check with the Dart version
dart --version
Install the latest dart version:
brew install dart --devel
Hope this helps others.
For Mac
open terminal
$ echo $PATH
it will show like this
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:
it means you need to add flutter in to path
Open Finder presss command + shift + G
Put /etc/paths in dialog and press GO
Copy the file "paths" and paste it on desktop
Then open the pasted "paths" file from desktop
and add following line into end of the file "/flutter/bin"
Then copy that file and again paste it on /etc/paths
same like step no 2
it will ask you to replace or not
press replace
Now if you hit $ echo $PATH on terminal it will show
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/swagat/development/flutter/bin
Now your $flutter doctor will work perfectly
The solution is from Google Groups #Flutter-Dev
Thank you very much for your reply #Michael Thomsen.
I've tried what you have suggested and the details are as follows:
When I used flutter run -v command the command prompt output is as follows:
It was stuck for a while at waiting for port connection if I am not wrong.
So I've used AndroidStudio, File>Open and selected android/ folder to run the app then the gradle was showing an error:
Error:Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (25.2.0) and test app (25.4.0) differ. See http://g.co/androidstudio/app-test-app-conflict for details.
I modified the build.gradle(Module:app) to show the correct version of 25.2.0 which was previously showing 25.4.0.
dependencies {
androidTestCompile 'com.android.support:support-annotations:25.2.0'
}
I just saved the changes inside android studio and the gradle sync completed without any errors.
Now I can run the app from inside Android Studio and also from IntelliJ IDE.
Thanks very much Michael this solved my problem.
Reinstalling flutter would be my starting point. If this problem persists, please post the output of $>flutter doctor and a description of what exactly leads to this error.

#providesModule naming collision error

Node: 4.8.3
NPM: 4.5.0
RN CLI: 1.0.0
RN: 0.34.0
Ignite: 1.13.0
The iOS react-native project I'm working on is actually from another machine Mac machine. I transferred it over my Windows machine and run it in a virtual machine with El Capitan OS. But now I can't even build it. I don't understand what the errors below are. And I'm not really familiar with XCode and OSX.
The error is saying something about naming collisions. I already tried deleting the collisioned files but another file happens to occur. Then delete that file again and then same thing happens. It goes on and on. Already tried deleting the node_modules folder then running npm install again. I tried running npm dedupe and also tried creating a new project using ignite new MyApp but it seems to happen.
What did I miss here?
Error Screenshot 1:
Error Screenshot 2:
This might be a problem of your react-native-router-flux version. (v3.38.1)
I suspect after transferring it over to the other machine you did npm install and got a newer version.
See: https://github.com/aksonov/react-native-router-flux/issues/1809
The workaround would be to set a fix version in your package.json.
"react-native-router-flux": "3.38.0",

starter application react native error

I just started with react-native development on IOS and want to get my feet wet.
I did the following:
react-native init trail
and I opened the trail starter project in xcode and hit run. There were several small issues I fixed already including upgrading watchman, upgrading OSX. Currently the logs do not show any errors.
While the logs show that the packager runs, the build failed on XCode. A lot of errors showed up with the files in the Library folder. Many of them show up as Parse Issues, Semantic Issues.
I'm currently using Mac OSX Yosemite 10.10.5. Why did the started app fail to build?
Here are some code snippets of the errors:
code snippet 1
code snippet 2
Update your versions of node, npm and xCode.
Run 'react-native init yourAppName';
Run in yourAppNameFolder 'npm i' - to install all needed dependencies, which may be missing;
Run 'open yourAppNameFolder/ios/yourAppName.xcodeproj' where appFolder - folder which one have been initialized by command 'react-native init'.
This should help, and one more suggestion - don't touch this bloody xcode, better to run the app from the shell.

Resources