解决:Error: error:0308010C:digital envelope routines::unsupported


问题

yarn start 启动一个以前的 React 项目,报错

Error: error:0308010C:digital envelope routines::unsupported

原因

Webpack 在构建过程中使用了 MD4 算法,而最新版本的 Node.js 默认不再支持该算法

解决

  1. 升级 Webpack ,新版本实现了自己的 MD4 算法,而不依赖于 Node 的实现
npm install webpack@latest
  1. 添加 --openssl-legacy-provider 标志
// package.json
"scripts": {
"start": "react-scripts start --openssl-legacy-provider"
}
  1. 使用 Node v16

文章作者: April-cl
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 April-cl !
  目录