npm run dev项目启动报错 Error: error:0308010C:digital envelope routines::unsupported
问题原因
node 版本过高,可以在命令行 输入node -v
因为 Node.js 版本是 17 以上所以会运行失败, Node.js 17 版本中最近发布的OpenSSL3.0 , 而OpenSSL3.0 对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响.
解决办法(Windows)
set NODE_OPTIONS=--openssl-legacy-provider
mac 或者 linux 环境下
export NODE_OPTIONS=--openssl-legacy-provider
修改完后在 package.json 中新建一个命令( dev_t 自己随便起名**)**
"dev_t": "set NODE_OPTIONS=\"--openssl-legacy-provider\" & npm run dev\n"
然后运行 npm run dev_t 成功!!!