问题
yarn start
启动一个以前的 React 项目,报错
Error: error:0308010C:digital envelope routines::unsupported
原因
Webpack 在构建过程中使用了 MD4 算法,而最新版本的 Node.js 默认不再支持该算法
解决
- 升级 Webpack ,新版本实现了自己的 MD4 算法,而不依赖于 Node 的实现
npm install webpack@latest
- 添加
--openssl-legacy-provider
标志
// package.json
"scripts": {
"start": "react-scripts start --openssl-legacy-provider"
}
- 使用 Node v16