npm安装@angular/common/http报错EINVALIDPACKAGENAME求助
解决方案:npm安装@angular/common/http时的EINVALIDPACKAGENAME错误
首先,核心问题很明确:@angular/common/http并不是一个独立的npm包——它是@angular/common包内置的模块,所以你在package.json里把它单独列为依赖项的话,npm会因为包名包含斜杠(不符合npm包命名规则)而抛出EINVALIDPACKAGENAME错误。
具体修复步骤:
- 打开你的
package.json文件,找到dependencies中的"@angular/common/http": "^5.0.0"这一行,直接删除它 - 确认
@angular/common的依赖已经存在(你当前配置里已经有"@angular/common": "^5.0.0",这就够了) - 在你的Angular代码中,依然可以正常导入HttpClient相关模块,比如:
import { HttpClient, HttpHeaders } from '@angular/common/http'; - 最后重新执行
npm install,这时候就不会再触发报错了
为什么之前能正常下载?
大概率是旧版本npm的缓存机制或者命名检查不严格导致的“假象”——实际上npm从来没有发布过@angular/common/http这个独立包,只是旧版本没有严格校验包名格式,才没报错。现在新版本npm收紧了命名规则,就触发了这个合理的错误。
内容的提问来源于stack exchange,提问作者Robert Dinaro
相关产品推荐
相关产品推荐

