我作为一名初学者正在深入研究 Angular,目前正在开发一个专门使用 Angular 12 的项目。为了进行设置,我选择不全局安装 Angular CLI,而是使用
npx -p @angular/cli@12 new hello-world-project
。根据 Angular 的文档,我注意到所需的 Node.js 版本应该是 ^12.14.0 || ^14.15.0。因此,在 nvm 的帮助下,我切换到了文档中提到的指定 Node 版本。
但是,在尝试使用
ng serve
运行应用程序时,我遇到了一个问题,指出 Angular CLI 需要最低 Node.js 版本为 v18.13.。这是相当令人费解的,因为即使我将 Node 版本调整到所需的最低版本(例如 18.13),Angular CLI 仍然可以运行,但我的应用程序无法运行,抛出与 Node 相关的兼容性错误:
编译 @angular/platform-browser-dynamic :es2015 为 esm2015 生成浏览器应用程序包(阶段:构建)...节点:内部/加密/哈希:69 this[kHandle] = new _Hash(算法, xofLen); ^
错误:错误:0308010C:数字信封例程::不支持
如果我错过了什么,你们有人知道吗?请注意,我正在 Windows 上工作。
我已经尝试将我的 Node 版本切换到 12.14 和 14.5,以及低于这些版本的一些版本,但没有成功。有趣的是,每当我选择高于 18.13 的版本时,我的应用程序都会抛出一个错误,指示与 Node 不兼容。
您正在使用 Angular 12.2.x,并且必须遵循受支持的 NODE.JS 版本
**版本兼容性:NG 12.2.x **
^12.14.0 || ^14.15.0
如果您使用nvm,请确保本地正确安装所需版本。
示例
nvm install 12.14.0
node -v
如果您想查看安装了哪些版本:
nvm ls
因此,删除您的 node_modules,使用 npm cache clean —-force 清理缓存, 并重试使用 npm install 安装依赖项。