由于 Node.js 版本 17 及以上引入的 OpenSSL 3.0 相关的更改,导致某些加密算法在 Webpack 中不再受支持的解决方法
·
解决方案 1:设置环境变量
可以通过设置 NODE_OPTIONS 环境变量来解决此问题。您可以在命令行中运行以下命令:
export NODE_OPTIONS=--openssl-legacy-provider
如果使用的是 Windows 命令提示符,可以使用以下命令:
set NODE_OPTIONS=--openssl-legacy-provider
如果使用的是 PowerShell,可以使用以下命令:
$env:NODE_OPTIONS="--openssl-legacy-provider"
然后再尝试启动npm run serve
解决方案 2:降级 Node.js 版本
如果不想使用上面的解决方法,可以考虑将 Node.js 降级到 16.x 版本,16.x 版本仍然使用旧版 OpenSSL。可以使用 Node Version Manager (nvm) 来轻松管理 Node.js 版本。
- 安装
nvm(如果尚未安装,我稍后会写一个如何去安装nvm的博客,可以在主页翻一哈)。 - 运行以下命令以安装 Node.js 16.x:
nvm install 16
3.切换到 Node.js 16.x:
nvm use 16
解决方案 3:更新 Webpack 和相关依赖
如果使用的是较旧版本的 Webpack 或其他依赖项,可以尝试更新它们到最新版本,以确保它们与 Node.js 20.x 兼容。可以使用以下命令来更新依赖项:
npm update
更多推荐


所有评论(0)