npm install 失败(无法解析依赖树)

Bru*_*ers 1 node.js npm react-native npm-install expo

试图减少任何变化的变量并使用我的代码的新拉取。它们不是node-module包或package-lock.json. 我运行npm install我得到这个错误:

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: undefined@undefined
npm ERR! Found: react-native-screens@2.15.2
npm ERR! node_modules/react-native-screens
npm ERR!   react-native-screens@"~2.15.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react-native-screens@"^1.0.0 || ^1.0.0-alpha" from react-navigation-drawer@1.4.0
npm ERR! node_modules/react-navigation-drawer
npm ERR!   react-navigation-drawer@"^1.4.0" 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.
npm ERR!
npm ERR! See /Users/myname/.npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/myname/.npm/_logs/2021-05-22T01_16_02_351Z-debug.log
Run Code Online (Sandbox Code Playgroud)

如果我通过安装进行安装,--force或者npm install --legacy-peer-deps我得到一堆文件标记为过时,当我运行时,npm update我得到同样的错误。我也尝试清除我的 npm 的缓存,但没有成功npm cache clean。我不知道为什么会发生这种情况,因为没有 node-module 文件夹或任何安装它的东西会在我的node_modules/react-native-screens......他们还没有 node_modules 文件夹下出错。这是什么原因造成的,我该如何解决?

编辑: 我跑了npm update -gnpm audit fix然后我得到了一个错误:

code ERESOLVE
ERESOLVE unable to resolve dependency tree

While resolving: Sculp latest app@undefined
Found: react-native-screens@2.15.2
node_modules/react-native-screens
react-native-screens@“~2.15.0” from the root project
Run Code Online (Sandbox Code Playgroud)

所以我跑了expo install react-native-screens,发现它找不到 expo ......检查了我的文件夹,我的node_module文件夹丢失了。就像它从未存在或安装过一样。

编辑: 我已经尝试了下面列出的所有方法,但它给出了我无法修复的随机错误,我undefined is not an object (evaluating ‘_core.ThemeColors.light’)用谷歌搜索了这个,主要的解决方案之一是删除 npm 和 package-lock.json 并重新安装,但这让我回到了哪里我已开始。

小智 5

这个对我有用:

npm install --save --legacy-peer-deps
Run Code Online (Sandbox Code Playgroud)