(转发) Fix the upstream dependency conflict installing NPM packages
原文:Fix the upstream dependency conflict installing NPM packages | bobbyhadz
Fix the upstream dependency conflict installing NPM packages #
Use the --legacy-peer-deps
flag to solve the npm error "Fix the upstream dependency conflict, or retry this command with --force or --legacy-peer-deps", e.g. npm install --legacy-peer-deps
.
The flag causes NPM to ignore peer dependencies and proceed with the installation anyway.
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! For a full report see:
npm ERR! /home/borislav/.npm/_logs/2022-11-23T09_56_26_533Z-eresolve-report.txt
npm ERR! A complete log of this run can be found in:
npm ERR! /home/borislav/.npm/_logs/2022-11-23T09_56_26_533Z-debug-0.log
Try to run the npm install
command with the --legacy-peer-deps
flag.
npm install --legacy-peer-deps
# 👇️ or use the --force flag
npm install --force
If you got the error when installing a specific module, add the --legacy-peer-deps
flag at the end of the command.
npm install react --legacy-peer-deps
# 👇️ or use the --force flag
npm install react --force
react
with the name of the module you're trying to install.An alternative to setting the legacy-peer-deps
flag for every command, is to set the behavior globally with the npm config set
command.
npm config set legacy-peer-deps true
Starting with NPM v7, NPM installs peerDependencies
by default. If you already have a peer dependency of the module installed, but not one of the specified by the module versions, NPM throws an error.
--legacy-peer-deps
flag tells NPM to ignore peer dependencies and to proceed with the installation anyway.This was the default behavior in NPM versions 4 through 6.
In other words, NPM modules name specific versions of their peerDependencies
.
If you have a different version of a peer dependency package installed, an error is raised unless you set the --legacy-peer-deps
flag.
If the error persists, try to delete your node_modules
and package-lock.json
(not package.json
) files, re-run npm install
.
# 👇️ delete node_modules and package-lock.json (macOS/Linux)
rm -rf node_modules
rm -f package-lock.json
# 👇️ delete node_modules and package-lock.json (Windows)
rd /s /q "node_modules"
del package-lock.json
# 👇️ clean npm cache
npm cache clean --force
# 👇️ install packages
npm install
# 👇️ if you get an error, try with --legacy-peer-deps
npm install --legacy-peer-deps
Your error message should contain information about which dependency could not be resolved.
npm ERR! Could not resolve dependency:
# 👇️
npm ERR! peer react@">=17.0.1" from react-native-web@0.17.1
npm ERR! node_modules/react-native-web
npm ERR! react-native-web@"^0.17.1" from the root project
react
version 17.0.1
or greater.You can use the following command to install a specific version of a package.
npm install react@17.0.1
And then, you can try to rerun your original npm install
command.
Try to upgrade your version of NPM #
Another thing you can try is to upgrade your version of NPM.
npm install -g npm@latest
# 👇️ if you get permissions error on macOS / Linux
sudo npm install -g npm@latest
If you get a permissions error on Windows, open CMD as an administrator and rerun the command.
To open CMD as an administrator:
-
Click on the Search bar and type CMD.
-
Right-click on the Command Prompt application and click "Run as administrator".
- Rerun the command.
npm install -g npm@latest
npm install -g npm@latest --force
Try updating your NPM packages #
The npm audit fix
command scans your project for vulnerabilities and automatically installs compatible updates to vulnerable dependencies.
The npm audit fix --force
command installs major updates to top-level dependencies, which might introduce breaking changes to your project if you rely on older package versions.
npm install --legacy-peer-deps
npm audit fix --force
Try to restart your terminal and development server after running the commands.
If the error persists, try running the npm update
command.
npm update
If the error persists, try to use the --force
flag.
# 👇️ install all using --force
npm install --force
# 👇️ install specific package using --force
npm install react --force
The --legacy-peer-deps
flag ignores all peer dependencies when installing (in the style on npm
version 4 through 6).
Whereas, the --force
flag forces NPM to fetch remote resources even if a local copy exists on disk.
Conclusion #
Use the --legacy-peer-deps
flag to solve the npm error "Fix the upstream dependency conflict, or retry this command with --force or --legacy-peer-deps", e.g. npm install --legacy-peer-deps
. The flag causes NPM to ignore peer dependencies and proceed with the installation anyway.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· 面试官:你是如何进行SQL调优的?
2022-01-17 What happens when I close/abort a WCF channel/proxy?
2022-01-17 WCF _ example
2022-01-17 WCF —— Consuming WCF Services in .NET Core – Best Practices(转发)
2022-01-17 WCF ChannelFactory and channels - caching, reusing, closing and recovery