Angular升级时ng update命令单台机器报404其他机器正常如何解决
问题解决步骤
排查npm源配置
执行npm config get registry对比两台机器的npm源配置,出问题的机器大概率使用了同步不全的第三方镜像源/私有源,导致Angular CLI升级时拉取适配v6版本的过渡依赖时触发404。切换到和正常机器完全一致的npm源后重试即可。
清理本地锁文件与依赖目录
仅执行npm cache verify不会清除项目本地的锁定文件与旧依赖缓存,旧版本package-lock.json/yarn.lock会固定过时的依赖下载地址,导致升级时版本匹配失败。按以下顺序操作:
# 删除本地依赖目录 rm -rf node_modules # 删除npm锁文件,使用yarn则删除yarn.lock rm package-lock.json # 重新安装现有依赖 npm install
完成后再执行升级命令重试。
校验npm版本适配性
Angular v6仅兼容npm 5.x/6.x版本,若出问题的机器npm版本为7.x及以上,即使Node版本一致,也会因新版npm的依赖解析逻辑变更触发404报错。执行npm -v对比两台机器的npm版本,若版本过高可执行以下命令降级:
npm install -g npm@6
手动执行迁移逻辑
若以上方案均无效,可跳过自动升级的依赖拉取步骤,手动执行v6配置迁移:
- 安装对应版本的schematic工具:
npm install -g @angular-devkit/schematics-cli@0.6 - 执行v6迁移脚本:
schematics @angular/cli:update-6.0 - 手动将package.json中所有Angular相关依赖版本改为v6对应版本后执行
npm install即可。
内容的提问来源于stack exchange,提问作者LilRazi
相关产品推荐
相关产品推荐

