从Angular 9升级到Angular 10出现MODULE_NOT_FOUND错误如何解决
Angular 9 升级10路径拼接错误解决方案
该报错属于Windows平台下Angular CLI v9升级到v10时的已知路径拼接缺陷,执行ng update命令时CLI会自动拉取临时版本的执行文件,拼接路径时错误叠加了项目根路径与临时文件路径,同时携带了多余的转义引号导致路径无效,可按以下方案依次尝试:
方案1:先升级本地项目CLI再执行核心升级
先执行命令安装v10版本的本地CLI,跳过临时文件拉取逻辑:npm install @angular/cli@10 --save-dev安装完成后再执行核心包升级命令:
ng update @angular/core@10方案2:手动指定CLI临时目录
提前创建一个无特殊字符、路径较短的临时目录(比如C:\ng-update-temp),执行升级命令前先设置环境变量指定临时目录,避免路径解析异常:PowerShell 环境执行:
$env:ANGULAR_CLI_TEMP_DIR = "C:\ng-update-temp"
CMD 环境执行:set ANGULAR_CLI_TEMP_DIR=C:\ng-update-temp
配置完成后再执行原本的升级命令即可。方案3:清空缓存后重新执行
先删除本地临时目录下所有angular-cli-packages-开头的文件夹,再执行npm缓存清理命令:npm cache clean --force清理完成后重新执行升级命令。
方案4:升级全局CLI后执行
先将全局Angular CLI升级到v10的最新补丁版本:npm install -g @angular/cli@10再回到项目目录执行升级命令。
注意事项
- 执行升级前请提前备份
package.json、package-lock.json(或yarn.lock)以及整个项目文件,避免升级失败影响原有业务代码。 - 若升级过程中出现依赖冲突,可在升级命令后加
--force参数强制覆盖,升级完成后再验证功能是否正常。
内容的提问来源于stack exchange,提问作者piccy
相关产品推荐
相关产品推荐

