我在升级项目中的角度版本时遇到了这个问题。目前我使用的是 Angular 版本 11 现在我想将 Angular 版本升级到 12。
首先我运行这个命令:
ng update @angular/core@12 @angular/cli@12
这给了我“节点版本至少为18”的错误,因此我将节点版本更改为18,然后安装节点包,然后重新运行升级角度版本的命令。
执行此命令后,当我运行项目时,会出现如下错误
如果有人有解决方案,请告诉我。预先感谢您。
我按照Angular官方文档从11更新到12 https://angular.dev/update-guide?v=11.0-12.0&l=1
您应该认真对待
node.js
版本,并将其保持在 Angular 版本的兼容范围内。
我相信使用
node 18
的版本会给出错误“error:0308010C:digital envelope routines::unsupported
”
角度 | Node.js | 打字稿 | RxJS | |
---|---|---|---|---|
15.1.x || 15.2.x | ^14.20.0 || ^16.13.0 || ^18.10.0 | >=4.8.2 <5.0.0 | ^6.5.3 || ^7.4.0 | |
15.0.x | ^14.20.0 || ^16.13.0 || ^18.10.0 | ~4.8.2 | ^6.5.3 || ^7.4.0 | |
14.2.x || 14.3.x | ^14.15.0 || ^16.10.0 | >=4.6.2 <4.9.0 | ^6.5.3 || ^7.4.0 | |
14.0.x || 14.1.x | ^14.15.0 || ^16.10.0 | >=4.6.2 <4.8.0 | ^6.5.3 || ^7.4.0 | |
13.3.x || 13.4.x | ^12.20.0 || ^14.15.0 || ^16.10.0 | >=4.4.3 <4.7.0 | ^6.5.3 || ^7.4.0 | |
13.1.x || 13.2.x | ^12.20.0 || ^14.15.0 || ^16.10.0 | >=4.4.3 <4.6.0 | ^6.5.3 || ^7.4.0 | |
13.0.x | ^12.20.0 || ^14.15.0 || ^16.10.0 | ~4.4.3 | ^6.5.3 || ^7.4.0 | |
12.2.x | ^12.14.0 || ^14.15.0 | >=4.2.3 <4.4.0 | ^6.5.3 || ^7.0.0 | |
12.1.x | ^12.14.0 || ^14.15.0 | >=4.2.3 <4.4.0 | ^6.5.3 | |
12.0.x | ^12.14.0 || ^14.15.0 | ~4.2.3 | ^6.5.3 |
我之前也遇到过同样的问题。这是一个 OpenSSL 问题。您需要为您的节点添加以下选项。
# linux
export NODE_OPTIONS=--openssl-legacy-provider
# windows
set NODE_OPTIONS=--openssl-legacy-provider
这里是 StackOverflow 链接来回答您的问题: Node.js 运行 npm run start 时出现 ERR_OSSL_EVP_UNSUPPORTED 错误