Angular聊天项目执行ng serve时出现ERR_OSSL_EVP_UNSUPPORTED错误求助
解决Angular项目启动时的ERR_OSSL_EVP_UNSUPPORTED错误
这个错误是Node.js 17+版本默认启用的OpenSSL算法与旧版webpack不兼容导致的,以下是几种解决方法:
方法一:临时添加环境变量启动
根据你的终端类型选择对应命令:
- Windows CMD:
set NODE_OPTIONS=--openssl-legacy-provider && ng serve --open - Windows PowerShell:
$env:NODE_OPTIONS="--openssl-legacy-provider"; ng serve --open - macOS/Linux终端:
NODE_OPTIONS=--openssl-legacy-provider ng serve --open
方法二:修改项目启动脚本
打开项目根目录的package.json,找到scripts字段下的start命令,替换为对应系统的启动语句:
"scripts": { // Windows CMD环境 "start": "set NODE_OPTIONS=--openssl-legacy-provider && ng serve --open", // 或PowerShell/macOS/Linux环境 // "start": "NODE_OPTIONS=--openssl-legacy-provider ng serve --open" }
修改后直接执行npm start即可启动项目。
方法三:降级Node.js版本
如果不想使用兼容模式,可以将Node.js降级到16.x LTS版本,推荐用nvm(Node版本管理器)进行版本切换:
- 安装nvm后,执行命令安装16.x版本:
nvm install 16 - 切换到16.x版本:
nvm use 16 - 再次执行
ng serve --open启动项目
内容的提问来源于stack exchange,提问作者Black Vein
相关产品推荐
相关产品推荐

