software-mansion / react-native-ide

VSCode extension that turns your editor into a fully fledged IDE for React Native and Expo.
https://ide.swmansion.com
Other
734 stars 25 forks source link

Unable to dismiss doctor (even if working) #297

Open asleepace opened 1 month ago

asleepace commented 1 month ago

Description

Found a small bug where the doctor can't seem to find our Cocoapods (we are using a monorepo), but the app is still able to run. As a result we are unable to dismiss the warning. Other than that this tool is amazing and gonna be a game changer for us! 🚀

Example of Issue Doctor Screenshot
Screenshot 2024-05-24 at 6 56 36 PM Screenshot 2024-05-24 at 7 03 31 PM

NOTE: The preview is working

Environment

lucasbento commented 1 month ago

@asleepace could you run pod --version and afterwards bundle exec pod --version and paste both outputs here?

asleepace commented 1 month ago

@lucasbento yeah sure thing!

pod --version
1.15.2

bundle exec pod --version
1.14.3
RuanAzevedo commented 1 month ago

@asleepace I had a similar problem and in my case was because I'm in a M1 mac and my terminal was in rosetta mode, while the vscode terminal was in arm64. So I installed cocoapods on my Mac terminal for the arch x86_64 and that's not compatible with arm64.

To check that, you can run uname -m in both terminals (mac terminal app and vscode terminal). If that output is different, maybe that's the issue. If you run pod --version on the vscode terminal, you should be able to see the same error that the vscode extension is getting when trying to validate cocoapods installation.

So when I turned off rosetta mode and updated my gems with gem update the extension doctor could find the pod installation. Maybe just reinstalling the cocoapods gem (gem install cocoapods) instead of updating all the gems is enough.

asleepace commented 1 month ago

@RuanAzevedo awesome thanks for the suggestion, will try today!

bewildergeist commented 3 weeks ago

Same problem here. I am running a managed Expo project with no custom iOS code (and therefore no need for CocoaPods) and (for now) I don't care about testing it on Android, so I haven't installed an Android Emulator. But the doctor expects this, and cannot be dismissed. Even though the app runs without issue.

Expectation: The "doctor" should only warn me about a missing Android Emulator if I try to run the app on Android. And should only warn me about missing CocoaPods if I have code that requires it.

doctor-cannot-be-dismissed