升级Angular CLI至v18后无法使用CLI命令,报MODULE_NOT_FOUND错误
Angular CLI 全局命令 MODULE_NOT_FOUND 问题解决步骤
错误核心:全局ng命令指向的文件路径不存在,大概率是全局CLI安装残留了无效的路径引用。以下是针对性的排查修复步骤:
1. 彻底清理全局Angular CLI残留
- 卸载全局CLI:
npm uninstall -g @angular/cli - 手动删除全局npm包目录下的
@angular文件夹(Windows默认路径:C:\Users\你的用户名\AppData\Roaming\npm\node_modules\@angular) - 删除全局
ng可执行文件:Windows在C:\Users\你的用户名\AppData\Roaming\npm下删除ng.cmd;Mac/Linux在$(npm prefix -g)/bin下删除ng
2. 清理npm缓存
npm cache clean --force
3. 匹配Node与Angular CLI版本兼容性
不同Angular CLI版本对Node版本有严格要求,比如:
- Angular 16:Node 16.14.0+ / 18.x
- Angular 17:Node 18.13.0+ / 20.x
用nvm(Windows用nvm-windows)切换到对应兼容版本,避免版本不匹配导致的安装异常。
4. 重新安装全局Angular CLI
安装最新稳定版:
npm install -g @angular/cli@latest
或指定具体版本(比如16.2.0):
npm install -g @angular/cli@16.2.0
安装完成后执行ng version验证是否正常输出。
5. 检查系统PATH与全局路径
- 确认npm全局bin目录在系统PATH中:Windows是
C:\Users\你的用户名\AppData\Roaming\npm;Mac/Linux是$(npm prefix -g)/bin - 执行
where ng(Windows)或which ng(Mac/Linux),确认输出路径指向npm全局bin下的ng.cmd/ng文件
6. 同步项目本地CLI版本(若项目内执行也报错)
进入项目目录:
- 卸载本地CLI:
npm uninstall @angular/cli - 安装与全局同版本的本地CLI:
npm install @angular/cli@对应版本 --save-dev - 用
npx ng version验证本地命令是否正常
错误信息参考
node:internal/modules/cjs/loader:1148 throw err; ^ Error: Cannot find module 'C:\Users\Xavie\node_modules@angular\cli\bin\ng.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1145:15) at Module._load (node:internal/modules/cjs/loader:986:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: [] }
内容的提问来源于stack exchange,提问作者reyvaxreecded
相关产品推荐
相关产品推荐

