You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

公司老项目执行npm run dev报错ERR_OSSL_EVP_UNSUPPORTED求助

解决老旧Vue项目npm run dev报错ERR_OSSL_EVP_UNSUPPORTED

这个错误是因为你使用的Node.js版本(17及以上)默认启用了OpenSSL 3.0,而项目里的旧版Webpack使用的哈希算法(如MD4)在OpenSSL 3.0中被标记为不安全,导致无法正常运行。以下是几种可行的解决方法:

临时单次运行(无需修改配置)

根据你的操作系统选择对应命令:

  • Windows(CMD):
set NODE_OPTIONS=--openssl-legacy-provider && npm run dev
  • Windows(PowerShell):
$env:NODE_OPTIONS="--openssl-legacy-provider"; npm run dev
  • Mac/Linux:
NODE_OPTIONS=--openssl-legacy-provider npm run dev

修改package.json永久解决

直接修改项目package.json中的scripts字段,给dev命令添加环境变量:

  • Windows环境:
"scripts": {
  "dev": "set NODE_OPTIONS=--openssl-legacy-provider && nuxt dev"
}
  • Mac/Linux环境:
"scripts": {
  "dev": "NODE_OPTIONS=--openssl-legacy-provider nuxt dev"
}
  • 跨平台兼容方案(需先安装依赖):
  1. 安装cross-env依赖:
npm install cross-env --save-dev
  1. 修改scripts:
"scripts": {
  "dev": "cross-env NODE_OPTIONS=--openssl-legacy-provider nuxt dev"
}

降级Node.js版本

如果不想修改命令,可将Node.js降级到16.x或更低版本(Node.js 16使用OpenSSL 1.1.1,不会触发该问题):

  1. 安装Node版本管理工具nvm(Windows系统使用nvm-windows)
  2. 安装16.x版本:
nvm install 16
  1. 切换到该版本:
nvm use 16
  1. 重新运行npm run dev

补充说明

你之前尝试的npm install nuxt、npm install node均为无效操作:

  • npm install nuxt无法解决Node版本与Webpack的兼容性问题
  • npm install node本身是错误操作,Node.js是全局环境依赖,并非项目依赖包

内容的提问来源于stack exchange,提问作者vitoria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 03:45:31