npm run dev报错Error: error:0308010C:digital envelope routines::unsupported
背景
next 13 的项目,运行 npm run dev 的时候报错了
Error: error:0308010C:digital envelope routines::unsupported
分析发现通常是安装了 Node.js v17 及以上比较新的版本,然后使用了 webpack4。
方案一
降级到 v16 版本。可以直接重新安装 v16 版本,或者使用 gnvm 来切换版本
方案二
开启 legacy OpenSSL provider
Windows
set NODE_OPTIONS=--openssl-legacy-provider
Linux 或者 mac
export NODE_OPTIONS=--openssl-legacy-provider
方案三
package.json 中dev
指令前设置变量NODE_OPTIONS=--openssl-legacy-provider
改成这样
"dev": "cross-env NODE_OPTIONS=--openssl-legacy-provider next dev",
"dependencies": {
"cross-env": "^7.0.3",
}
确保你安装了cross-env
。其他的指令如果有报错的,也是同理
评论