解决方案 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 版本。

  1. 安装 nvm(如果尚未安装,我稍后会写一个如何去安装nvm的博客,可以在主页翻一哈)。
  2. 运行以下命令以安装 Node.js 16.x:
nvm install 16

    3.切换到 Node.js 16.x:

nvm use 16

解决方案 3:更新 Webpack 和相关依赖

如果使用的是较旧版本的 Webpack 或其他依赖项,可以尝试更新它们到最新版本,以确保它们与 Node.js 20.x 兼容。可以使用以下命令来更新依赖项:

npm update

更多推荐