-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Recent Version Fails Due to Missing Modules That Exist #1922
Comments
@allenweiss just to sanity check before we debug any further, let's make sure your project conforms to Node.js' module resolution algorithm. Could you elaborate on how Example with expected errorIn the case where you reference
If If your project directly imports |
Thank you...we do not directly import minimatch and never have. I was just using npm ls minimatch in my investigation after we started getting an error. Here is the output
|
Thanks for the info @allenweiss . To further debug, could you try the following:
|
before running npm install, should I delete package-lock.json? Also, I was concerned about doing this before because I thought if anything changed, I shouldn't run an update (instead just do the update as a new store submission.) |
Ok...I didn't delete, ran install, and then eas update...got the same error (not finding minimatch). Here are the files you asked for. |
HI @quinlanj. Any update on this? I need to figure out how to do an update else I need to submit this to the stores tomorrow because I use this app in a class I teach that starts on Thursday. |
HI @quinlanj...I had to submit an update to the stores. But just now I tried to do an over-the-air update and got the same error as I brought up before. Also, I updated eas-cli to the most recent version. |
Thank you for filing this issue! |
hi @allenweiss , I'm very sorry for the late reply and any inconveniences to your class. I was able to reproduce your issue without manually changing the lock file. We use the metro bundler to package our code, so I'll need to confirm a couple things on our end and then look into filing an issue upstream in their project. In order to unblock you in the meantime, you can run repro detailsI repro'ed your issue by doing the following:
|
Thank you, @quinlanj....I'll try your suggestions. I just used npm dedupe and that allowed me to get past the error. |
Update: this issue persists in SDK 48 and 49, but it should be fixed in the upcoming SDK 50 - I've confirmed this with the repro steps mentioned above . SDK 50 is slated to be released in a couple months. For folks that are encountering this issue in 48/49, you can unblock yourselves by running |
Build/Submit details page URL
No response
Summary
I've been trying to update our app over-the-air using the same process I used a month ago. I have set up the app to receive updates and went through the standard process. Each time I get to eas update --channel production --message "in quotes"
I get this error that stops the whole process:
Error: Cannot find module 'minimatch'
This module does exist, but it is not at ./node_modules/minimatch
If I run npm ls minimatch in the node_modules folder of the project, I find three instances of this module.
I assume that Minimatch is typically installed as a dependency in the "node_modules" folder of the project. I use npm to install dependencies.
To test my "theory", I had a look at my package-lock.json file when this update worked a month ago, and minimatch did exist at ./node_modules/minimatch
I don't get asked where these modules should be stored as a user. But maybe the update can make a more thorough look for the module. If not, we are dependent, I guess, on npm to install it correctly.
Managed or bare?
Managed
Environment
expo-env-info 1.0.5 environment info:
System:
OS: macOS 13.4.1
Shell: 5.9 - /bin/zsh
Binaries:
Node: 18.16.0 - ~/.nvm/versions/node/v18.16.0/bin/node
Yarn: 1.22.19 - ~/.nvm/versions/node/v18.16.0/bin/yarn
npm: 9.6.7 - ~/.nvm/versions/node/v18.16.0/bin/npm
SDKs:
iOS SDK:
Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
IDEs:
Xcode: 14.3.1/14E300c - /usr/bin/xcodebuild
npmPackages:
expo: ^48.0.0 => 48.0.19
react: 18.2.0 => 18.2.0
react-native: 0.71.8 => 0.71.8
npmGlobalPackages:
eas-cli: 3.15.0
expo-cli: 6.3.8
Expo Workflow: managed
✔ Check package.json for common issues
✔ Validate global prerequisites versions
✔ Validate Expo Config
✔ Check for conflicting global packages in project
✔ Check for incompatible packages
✔ Check compatible dependency versions for the installed Expo SDK
✔ Verify prebuild support package versions are compatible
Didn't find any issues with the project!
Error output
No response
Reproducible demo or steps to reproduce from a blank project
Finish a blank project, check package-lock.json for the minimatch module folder..if it exists, first run
npm ls minimatch
to ensure the module exists somewhere else, like:
/node_modules//node_modules/minimatch
if it does, delete /node_modules/minimatch
then try to update..you'll get an error.
The text was updated successfully, but these errors were encountered: