当尝试使用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
系统显示如下错误:
当前回答
在我的例子中,我从版本6升级到版本7后开始得到错误(如下所示)。
npm犯错!ERR!无法解析依赖项 树 ... npm犯错!修复上游依赖项冲突,或使用——force或——legacy-peer-deps重试此命令,以接受错误的(可能损坏的)依赖项解决方案。
在我的例子中,使用——legacy-peer-deps或——force标志进行编译会导致一个无用的包。
所以我试着删除node_modules, package-lock。Json和bundle使用yarn install。这就产生了纱线。锁定文件和创建的包锁。Json,在后续的NPM运行中工作良好。
附注:我正在使用临时的解决方法,直到npm 7对我的项目起作用:在那之后,我将删除yarn。锁,package-lock。Json和node_modules文件夹,然后用NPM重新编译
rm -rf node_modules
rm package-lock.json
yarn install
# Generates a yarn.lock file and a new package-lock.json
# Continue with npm
npm start
其他回答
最快的解决方案:npm install——legacy-peer-deps
解释:
在npm版本3到6中,peerDependencies不会自动安装,如果在树中发现无效的peer dependency版本,将会发出警告。从npm v7开始,默认安装了peerDependencies。 npm docs: peerDependencies
你的依赖包含一些peerDependencies,这些peerDependencies与根项目的依赖冲突。
正如npm ERR日志中描述的那样。
在我的例子中,我遇到了@babel/core依赖的问题,但我不想使用——force,因为我不确定后果,所以我去https://www.npmjs.com/,寻找包并用最新的包替换了我的旧版本。这就成功了。
在使用npm 7时,这种情况经常出现,因为对等依赖问题在版本7中被视为错误,而在版本6中通常只是警告。通常使用——legacy-peer-deps可以让它在npm 7中工作。
当这不起作用时,一个选择是降级到npm 6。降级Node.js是没有必要的(但也没有害处)。相关的依赖管理代码在npm中。降级Node.js通常是巧合,因为这样做通常也会降级npm。
另一个比降级npm破坏性更小的选择是使用npx来使用之前版本的npm的install命令:npx -p npm@6 npm install
当所有这些都失败时,通常值得尝试删除node_modules目录和包锁。Json,然后再次运行NPM install。这会重新生成node_modules和package-lock.json。
NPM可用于在项目中安装和管理依赖项的版本。
我在React版本和npm版本上也遇到了同样的问题:
NPM错误发现类型/react@16.14.20
因此,它可能是需要根据您的包安装的包版本。json文件。
它会在npm 7版本中给出错误,并且无法安装Node.js模块。
如果你将npm版本降级到6,这些问题将变成警告,问题将得到解决。
试着证明这个命令:npm install -g npm@6 检查版本是否已经安装:npm——version 删除并安装node_modules包: a)删除rm -rf node_modules b)安装:npm i
Yarn有一个特性可以解决这个问题。如果可以,尝试使用它来安装包。