ant design pro 项目启动失败
ant design pro 项目启动失败
环境:
node v18.17.1 npm 9.6.7 yarn 1.22.19
运行说明:
# 使用 npm(全局安装需要管理员权限)
npm install yarn tyarn -g
npm i @ant-design/pro-cli -g
# 利用ant design pro提供的项目构建工具创建项目
pro create myapp
# 然后一次选择了umi@3, simple
# 项目创建好了之后继续运行下面命令
cd myapp
tyarn
# 运行项目
npm run start
项目运行失败,结果如下:
node:internal/crypto/hash:69
this[kHandle] = new _Hash(algorithm, xofLen);
^
Error: error:0308010C:digital envelope routines::unsupported
原因说明:错误原因是由于webpack造成的
解决方案参考:https://stackoverflow.com/questions/69394632/webpack-build-failing-with-err-ossl-evp-unsupported
解决方案一:修改单个启动脚本。在package.json启动脚本中加入参数NODE_OPTIONS=--openssl-legacy-provider
//默认的启动脚本
"start": "cross-env UMI_ENV=dev umi dev"
//修改后的启动脚本
"start": "cross-env NODE_OPTIONS=--openssl-legacy-provider UMI_ENV=dev umi dev"
保存好脚本之后,npm run start
重启项目,成功。
解决方案二:设置环境变量,不用修改任何脚本,对所有启动脚本有效。我使用的是powershell,输入:$env:NODE_OPTIONS="--openssl-legacy-provider"
然后npm run start
重启项目,成功。