Details
-
Task
-
Resolution: Done
-
Minor - P4
-
None
-
None
-
None
-
1
Description
- Relevant doc: Task Tracker (Web)
When following the steps outlined in the doc, I hit an error. This was reproduced in both Windows and MAC environments.
The error suggests a dependency collission on "eslint". It seems it is installed at the root but also "react-scripts" needs it, so it installs its own version. A workaround is to remove the dependency after it is installed at the root.
Steps to reproduce
1. Run
git clone --branch final https://github.com/mongodb-university/realm-tutorial-web.git |
2. update src/App.js with my Realm app ID.
3. Run
cd realm-tutorial-web
|
npm install
|
npm run start
|
Error received
> task-tracker@0.1.0 start |
> react-scripts start
|
|
|
|
|
There might be a problem with the project dependency tree.
|
It is likely not a bug in Create React App, but something you need to fix locally.
|
|
|
The react-scripts package provided by Create React App requires a dependency: |
|
|
"eslint": "^6.6.0" |
|
|
Don't try to install it manually: your package manager does it automatically. |
However, a different version of eslint was detected higher up in the tree:
|
|
|
/Users/sergio/Downloads/realm-tutorial-web/node_modules/eslint (version: 8.6.0) |
|
|
Manually installing incompatible versions is known to cause hard-to-debug issues.
|
|
|
If you would prefer to ignore this check, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project. |
That will permanently disable this message but you might encounter other issues. |
|
|
To fix the dependency tree, try following the steps below in the exact order: |
|
|
1. Delete package-lock.json (not package.json!) and/or yarn.lock in your project folder. |
2. Delete node_modules in your project folder. |
3. Remove "eslint" from dependencies and/or devDependencies in the package.json file in your project folder. |
4. Run npm install or yarn, depending on the package manager you use. |
|
|
In most cases, this should be enough to fix the problem. |
If this has not helped, there are a few other things you can try: |
|
|
5. If you used npm, install yarn (http://yarnpkg.com/) and repeat the above steps with it instead. |
This may help because npm has known issues with package hoisting which may get resolved in future versions. |
|
|
6. Check if /Users/sergio/Downloads/realm-tutorial-web/node_modules/eslint is outside your project directory. |
For example, you might have accidentally installed something in your home folder.
|
|
|
7. Try running npm ls eslint in your project folder. |
This will tell you which other package (apart from the expected react-scripts) installed eslint. |
|
|
If nothing else helps, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project. |
That would permanently disable this preflight check in case you want to proceed anyway. |
|
|
P.S. We know this message is long but please read the steps above :-) We hope you find them helpful! |
Workaround
Change the item 3 in the steps to reproduce, with the below:
3. Run
cd realm-tutorial-web
|
npm install
|
rm -rf node_modules/eslint
|
npm run start
|
Action required.
- Please modify the current code to prevent the above dependency collision.