我尝试使用
npm install -g @angular/cli
在 Node 23 上安装 Angular CLI 来学习 Angular。安装似乎成功,但在安装后尝试运行 ng version
命令时,我收到以下错误。
An unhandled exception occurred: Cannot find module './package.json'
Require stack:
- C:\Users\sudha\AppData\Roaming\npm\node_modules\@angular\cli\src\noop.js
See "C:\Users\sudha\AppData\Local\Temp\ng-C0Y4aA\angular-errors.log" for further details.
检查文件后,我发现 noop.js 不存在,并且在上面提到的日志文件中我看到
[error] Error: Cannot find module './package.json'
Require stack:
- C:\Users\sudha\AppData\Roaming\npm\node_modules\@angular\cli\src\noop.js
at Function._resolveFilename (node:internal/modules/cjs/loader:1259:15)
at Function._load (node:internal/modules/cjs/loader:1085:27)
at TracingChannel.traceSync (node:diagnostics_channel:315:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)
at Module.require (node:internal/modules/cjs/loader:1350:12)
at require (node:internal/modules/helpers:138:16)
at VersionCommandModule.run (C:\Users\sudha\AppData\Roaming\npm\node_modules\@angular\cli\src\commands\version\cli.js:46:28)
at VersionCommandModule.handler (C:\Users\sudha\AppData\Roaming\npm\node_modules\@angular\cli\src\command-builder\command-module.js:154:39)
您能提出解决此问题的方法吗?
Angular 仅支持 Node 的 LTS 版本,请参阅 docs。 尝试降级到 Node v22。
根据经验,您应该只使用偶数(18、20、22...)节点主要版本。 奇数(19、21、23...)节点主要版本永远不会进入 LTS,并且不会受到 Angular 的支持。 有关更多信息,请参阅 Node.js 版本文档。