当尝试使用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
系统显示如下错误:
当前回答
尝试以下两种方法来解决此问题:
选项1:删除文件夹“node_modules”和文件“package_lock”。Json: NPM cache clean -force after NPM I -force 选项2:执行npm install——save——legacy-peer-deps命令
其他回答
在这个案子上,我遇到了问题
无法解析依赖树
在一个Angular 13项目中,它使用了Azure DevOps中私有npm提要中的一些包。
为了访问这个存储库,我创建了一个.npmrc文件。正因为如此,npm install命令将搜索我的私有存储库中的所有包,而不再是npm feed中的包。无法解决依赖树错误是因为npm install命令找不到很多托管在npm提要而不是我的私有提要中的包。
我找到了一个关于如何确定包范围的惊人答案。
在此基础上,我做了一些修改:
在我的图书馆包里。Json,更新名称有一个作用域名@mylib “名称”:“@myLib /命令队列”, 构建并将此包发布到我的私人提要 在我的客户端应用程序(使用这个包的应用程序)中,更新.npmrc文件,只对这个范围内的包使用我的私有提要 @myLib:注册表= https://pkgs.dev.azure.com/..。 always-auth = true
现在,每当我运行npm install命令时,如果包的作用域是@myLib,它就会在我的私有提要中查找它,并在所有其他情况下使用npm提要(即@angular/…)
这是我的客户端应用程序包的一个例子。json文件:
"@angular/platform-browser-dynamic": "~13.3.0",
"@angular/router": "~13.3.0", <-- this comes from npm
"@myLib/jcg-command-queue": "^2.2.0", <-- This comes from my private feed
而且,有了这个改变,就不需要再在npm install命令中添加——legacy-peer-deps了。
我们有同样的问题,导致错误如下:
npm犯错!代码erresolve npm 犯错!erresolve无法解析npm 犯错! npm犯错!解析时:@angular/material-moment-adapter@12.1.4 npm 犯错!发现:@angular/material@12.0.6 npm ERR! node_modules/@angular/material@angular / material@”~ 12.0.4” 从根项目开始 ...
我们在Azure-Pipelines中使用npm ci进行清洁安装。
问题经常出在那个包裹上。Json和包锁。Json不再同步。
解决方案是执行npm install local并推送新的package-lock.json。
作为额外的提示,我们在管道中添加了一个新任务,以便在作业失败时获得额外的信息。
- task: Npm@1
displayName: npm install
inputs:
command: custom
customCommand: ci
customRegistry: useNpmrc
# ##vso[task.logissue type=error] writes the text to the summary page (error-log).
- bash: echo "##vso[task.logissue type=error] If 'npm install' fails with 'ERESOLVE could not resolve', 'package.json' and 'package-lock.json' (needed for 'npm ci') may be out of sync. Run 'npm install' locally and push the new package-lock.json."
condition: failed() # Only execute on fail
displayName: npm install failed hint
这个问题我已经遇到过很多次了。最后我找到了一个解决方案:
npm install react-native-paper --legacy-peer-deps
这是Node.js版本的问题。一些最新版本的Node.js可能会显示类似的错误。
https://github.com/nvm-sh/nvm
我使用NVM来管理系统上的Node.js版本,并使用Node.js 12来克服这个错误。
修改版本命令:
nvm use 12
这与HTTP代理无关。
正如上面所说,您存在依赖冲突(不正确且可能被破坏的依赖),因此尝试使用——force或——legacy-peer-deps运行该命令。如果它不生效,临时解决方案是使用以前版本的Node.js(降低Node.js版本),因为它有时会导致这种错误发生。
根据OP的更新更新:
如你所见,它触发了以下错误:
@angular/http@^9.1.4没有找到匹配的版本。
看看angular/http页面。请注意,该已弃用包的最新版本是7.2.16,而您请求的是更高版本(例如,^9.1.4)!因此,请尝试检查项目依赖关系,并根据所提出的错误来解决问题。