node.js - 安装 Angular deps 时 NPM 安装导致 404
问题描述
我安装了最新的 node.js 8.x 和 npm 5.6.0。尝试执行时npm install
,我不断收到以下错误:
npm 错误!代码 E404
npm 错误!404 未找到:@angular/router@5.2.0
每次我重试安装时失败的模块都不同,但最常见的是@angular/forms@5.2.0
,@angular/animations@5.2.0
和@angular/platform-browser@5.2.0
- 我确实有可用的互联网连接
- 我已经跑了
npm config set registry https://registry.npmjs.org/
。 - 我删除了
node_modules
文件夹 - 我已经删除了缓存:
npm cache clean --force
- An
npm search
确实找到了模块:
C:\windows\system32>npm search @angular/router
姓名 | 说明 | 作者 | 日期 | 版本 | 关键词
@角/路由器 | Angular - 的… | =角| 2018-04-16 | 5.2.10 | 角路由器
还有什么可能是错的?
这是完整的 package.json:
{
"name": "App",
"angular-cli": {},
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build --env=scapp",
"build-local": "ng build --env=dev",
"build-nonevis": "ng build --env=nonevis",
"test": "ng test",
"lint": "ng lint",
"lint-fix": "ng lint --fix",
"e2e": "ng e2e"
},
"dependencies": {
"@angular/animations": "5.2.0",
"@angular/common": "^5.2.0",
"@angular/compiler": "^5.2.0",
"@angular/core": "^5.2.0",
"@angular/forms": "5.2.0",
"@angular/http": "5.2.0",
"@angular/platform-browser": "5.2.0",
"@angular/platform-browser-dynamic": "5.2.0",
"@angular/router": "5.2.0",
"@ngx-translate/core": "9.1.1",
"@ngx-translate/http-loader": "2.0.1",
"@types/arcgis-js-api": "^4.4.0",
"@types/node": "9.4.0",
"angular2-esri-loader": "^1.0.0",
"cerialize": "^0.1.18",
"chart.js": "2.7.1",
"core-js": "^2.5.1",
"esri-loader": "^1.1.0",
"fullcalendar": "3.7.0",
"intl": "^1.2.5",
"jquery": "3.2.1",
"moment": "2.18.1",
"nanoscroller": "0.8.7",
"ngx-perfect-scrollbar": "5.3.4",
"primeng": "5.2.0",
"quill": "1.1.8",
"rxjs": "5.5.2",
"web-animations-js": "2.3.1",
"zone.js": "0.8.18"
},
"devDependencies": {
"@angular/cli": "^1.6.5",
"@angular/compiler-cli": "^5.2.0",
"@types/jasmine": "2.5.53",
"@types/jasminewd2": "2.0.2",
"@types/node": "6.0.60",
"codelyzer": "4.0.1",
"jasmine-core": "2.6.4",
"jasmine-spec-reporter": "4.1.1",
"karma": "1.7.1",
"karma-chrome-launcher": "2.1.1",
"karma-cli": "1.0.1",
"karma-jasmine": "1.1.0",
"karma-jasmine-html-reporter": "0.2.2",
"karma-coverage-istanbul-reporter": "1.3.0",
"protractor": "5.1.2",
"ts-node": "3.2.0",
"tslint": "5.7.0",
"typescript": "2.4.2"
}
}
解决方案
问题是由.npmrc
包含该行的本地文件引起的always-auth = true
。删除此行解决了该问题。我不知道 404 错误与身份验证有何关系,但注意到我切换到镜像注册表后,它突然报告 E401 而不是像官方注册表那样的 E404。
推荐阅读
- java - 音频在一分钟后停止录制
- python - 为什么在 django-admin 后端中没有使用 django-markdown 显示 markdown 小部件?
- python - 将完全密集的数组转换为稀疏矩阵是否会丢失任何信息?
- angular - 如何在 Angular 8 的另一个组件中显示表单提交?
- reactjs - 棱镜预览未在盖茨比中显示更新的内容
- gcc - pkg-config:需要问题:ld 找不到文件
- c# - 如何在引导模式中绑定 ViewComponent
- python - 如何使注册页面只接受一个电子邮件地址
- xml - 与 XPath 一起使用时,如何在 xmlstarlet 更新命令中正确添加 xml 命名空间
- here-api - HERE Map Tile Labels 仅在某些缩放级别使用指定语言?