修复安装 NPM 包时的上游依赖冲突

Fix the upstream dependency conflict installing NPM packages

尝试 npm install vue-mapbox mapbox-gl 时出现依赖关系树错误。

我是 运行 带有 Vuetify 的 Nuxt SSR,并且在 运行 此次安装并出现此错误之前没有安装任何与 Mapbox 相关的东西。

38 error code ERESOLVE
39 error ERESOLVE unable to resolve dependency tree
40 error
41 error While resolving: [1mexample[22m@[1m1.0.0[22m
41 error Found: [1mmapbox-gl[22m@[1m1.13.0[22m[2m[22m
41 error [2mnode_modules/mapbox-gl[22m
41 error   [1mmapbox-gl[22m@"[1m^1.13.0[22m" from the root project
41 error
41 error Could not resolve dependency:
41 error [35mpeer[39m [1mmapbox-gl[22m@"[1m^0.53.0[22m" from [1mvue-mapbox[22m@[1m0.4.1[22m[2m[22m
41 error [2mnode_modules/vue-mapbox[22m
41 error   [1mvue-mapbox[22m@"[1m*[22m" from the root project
41 error
41 error Fix the upstream dependency conflict, or retry
41 error this command with --force, or --legacy-peer-deps
41 error to accept an incorrect (and potentially broken) dependency resolution.
41 error
41 error See /Users/user/.npm/eresolve-report.txt for a full report.
42 verbose exit 1

解决这个上游依赖冲突的正确方法是什么?

看起来这是最新版本的 npm (v7) 中的 Peer Dependencies 问题,它仍然是测试版。尝试使用 npm install --legacy-peer-deps 获取详细信息,检查此 https://blog.npmjs.org/post/626173315965468672/npm-v7-series-beta-release-and-semver-major

npm install 之后使用 --legacy-peer-deps。例如,如果你想安装镭,使用:

npm install --legacy-peer-deps --save radium

有两种方法:

  1. 使用npm install --legacy-peer-deps安装,如果这不起作用使用

  2. 强制法。在 npm install 旁边添加 --force:npm install --force

直到 npm 版本 7.19.1 仍然有同样的问题,在 升级到版本 7.20.3 之后 使用命令 npm install -g npm@latestnpm audit fix 所有 pkg​​s 修复没有错误。

  • 删除 package-lock.json 文件
  • 修改 package.json ,根据对等依赖性
  • 指示更新版本
  • 运行 npm 安装或 npm udpate

解决修复上游依赖冲突安装NPM包报错

方法1. 在npm install后使用--legacy-peer-deps即可。

比如要安装axios,使用

npm install --legacy-peer-deps --save axios.

方法 2.更新 npm 和审计修复

npm I -g npm@latest
npm audit fix --force

方法三使用--force安装包

npm install axios --force

你可以按照这个命令

第一种:

npm config set legacy-peer-deps true

然后输入:

npx create-react-app my-app

我尝试了多种方法,但没有任何效果。终于尝试了这个并且成功了 npm config set legacy-peer-deps true 运行 在项目文件夹中,然后尝试安装任何包。可能也适合你

我已经将我的节点版本降级到 10.23.1 它工作正常。