当尝试使用npm i命令安装npm包时,我得到了以下异常:
我尝试重新安装Node.js包,并使用以下方法将代理设置为关闭:
set HTTP_PROXY=
set HTTPS_PROXY=
问题仍然存在。我哪里做错了?
更新:
执行以下命令时:
npm install --legacy-peer-deps
系统显示如下错误:
当尝试使用npm i命令安装npm包时,我得到了以下异常:
我尝试重新安装Node.js包,并使用以下方法将代理设置为关闭:
set HTTP_PROXY=
set HTTPS_PROXY=
问题仍然存在。我哪里做错了?
更新:
执行以下命令时:
npm install --legacy-peer-deps
系统显示如下错误:
当前回答
如果它可以帮助某人,我得到这个错误,在GitHub操作,同时推送我更新的包和包锁JSON文件,
问题在于我们内部的NPM包不一致。 我必须补充一点
legacy-peer-deps=true
在我们的
npmrc。
文件来覆盖依赖项。
所以我觉得有时候最好使用legacy-peer-deps来覆盖项目包中不需要的依赖项
其他回答
如果你有node_modules文件夹和package-lock。Json文件在你的根目录,然后删除这些: Rm -r node_modules rm package-lock.json 然后执行如下命令: NPM install——save——legacy-peer-deps NPM审计修复——强制 在根目录下创建.env文件,并粘贴以下代码: SKIP_PREFLIGHT_CHECK = true 现在,开始你的项目: npm开始
最快的解决方案:npm install——legacy-peer-deps
解释:
在npm版本3到6中,peerDependencies不会自动安装,如果在树中发现无效的peer dependency版本,将会发出警告。从npm v7开始,默认安装了peerDependencies。 npm docs: peerDependencies
你的依赖包含一些peerDependencies,这些peerDependencies与根项目的依赖冲突。
正如npm ERR日志中描述的那样。
把Node.js降级到v14适合我。
使用这些命令:
source ~/.bash_profile
nvm use v14.16.1
npm install
问题似乎是gf-kautomata-pipeline-ui使用的是Angular 9,而@angular/http需要Angular 7。(@angular/http已经弃用并最终被移除,它的所有功能都被移到了@angular/common中。)
见:https://www.npmjs.com/package/@angular http
如果你运行的是Angular 9,那么
从包中删除@angular/http。json(在Angular 9中你不需要它) 确保你的package.json中有@angular/common。 运行npm i。
如果你运行的是Angular 7,那么打开你的包。检查并确保你所有的Angular包都不高于^7.0.0。你可能还需要删除gf-kautomata-pipeline-ui,或者联系gf-kautomata-pipeline-ui的作者,看看这个库是否与Angular 7兼容。
重置package-lock。Json一直都很适合我:
git checkout -- package-lock.json
细节: 在更新遗留项目的所有包时,我经常遇到这种情况——我强烈不建议使用npm审计fix或npm I——force。删除包锁。Json也并不总是适用于我。回滚到包的工作版本。Json +包锁。Json和添加包对我来说是最安全、最快的变体。