e-mission / e-mission-docs

Repository for docs and issues. If you need help, please file an issue here. Public conversations are better for open source projects than private email.
https://e-mission.readthedocs.io/en/latest
BSD 3-Clause "New" or "Revised" License
15 stars 34 forks source link

NPM Dependancy Issues during Setup Script #1069

Closed the-bay-kay closed 7 months ago

the-bay-kay commented 7 months ago

The Issue

When attempting to run any of the setup scripts (setup_serve.sh, setup_ios_native.sh, setup_android_native.sh) , the script crashes when attempting to install NPM dependancies. This issue is current occuring in the latest CI as well (link). The error is as follows:

npm ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: edu.berkeley.eecs.emission@3.2.8
npm ERR! Found: react@18.2.0
npm ERR! node_modules/react
npm ERR!   react@"^18.2.*" from the root project
npm ERR!   peer react@"*" from @react-navigation/native@6.1.17
npm ERR!   node_modules/@react-navigation/native
npm ERR!     @react-navigation/native@"^6.1.7" from the root project
npm ERR!     peer @react-navigation/native@"^6.0.0" from @react-navigation/stack@6.3.29
npm ERR!     node_modules/@react-navigation/stack
npm ERR!       @react-navigation/stack@"^6.3.17" from the root project
npm ERR!   7 more (react-native, @react-navigation/stack, ...)
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! react-dom@"^18.2.*" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: react@18.3.1
npm ERR! node_modules/react
npm ERR!   peer react@"^18.3.1" from react-dom@18.3.1
npm ERR!   node_modules/react-dom
npm ERR!     react-dom@"^18.2.*" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

The Cause

It appears there is an issue with our peer dependencies (relevant stack overflow thread here). Specifically, that the current version of react and react-router-dom are incompatible.

Solutions

While this could be solved locally via running npm install --legacy-peer-deps, this would fail to fix the issues occurring within the CI. As such, I believe we'll have to bump one of the two package's versions up in our package.json files, to fix the dependency issue. I'll go ahead and give this a shot, and report back with more information!

the-bay-kay commented 7 months ago

This issue was already being worked on, closing duplicate!