当尝试使用npm i命令安装npm包时,我得到了以下异常:

我尝试重新安装Node.js包,并使用以下方法将代理设置为关闭:

set HTTP_PROXY=
set HTTPS_PROXY=

问题仍然存在。我哪里做错了?

更新:

执行以下命令时:

npm install --legacy-peer-deps

系统显示如下错误:


当前回答

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

其他回答

这与HTTP代理无关。

正如上面所说,您存在依赖冲突(不正确且可能被破坏的依赖),因此尝试使用——force或——legacy-peer-deps运行该命令。如果它不生效,临时解决方案是使用以前版本的Node.js(降低Node.js版本),因为它有时会导致这种错误发生。

根据OP的更新更新:

如你所见,它触发了以下错误:

@angular/http@^9.1.4没有找到匹配的版本。

看看angular/http页面。请注意,该已弃用包的最新版本是7.2.16,而您请求的是更高版本(例如,^9.1.4)!因此,请尝试检查项目依赖关系,并根据所提出的错误来解决问题。

这对我来说很管用:

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

在使用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 install --save --legacy-peer-deps

此处描述legacy-peer-deps

问题似乎是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兼容。