一开始umi-plugin-react一直安装不上,各种卸载package-lock.json删除啊,重装都不行,最后把node版本从16.18升级到18.10才安装好了
结果一运行就报错
PS C:\Users\Asus\Desktop\biad\v3-react-helloworld> npm run start
> start
> umi dev
build [== ] 10%Starting the development server...
node:internal/crypto/hash:71
this[kHandle] = new _Hash(algorithm, xofLen);
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (C:\Users\Asus\Desktop\biad\v3-react-helloworld\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (C:\Users\Asus\Desktop\biad\v3-react-helloworld\node_modules\webpack\lib\NormalModule.js:417:16)
at handleParseError (C:\Users\Asus\Desktop\biad\v3-react-helloworld\node_modules\webpack\lib\NormalModule.js:471:10)
at C:\Users\Asus\Desktop\biad\v3-react-helloworld\node_modules\webpack\lib\NormalModule.js:503:5
at C:\Users\Asus\Desktop\biad\v3-react-helloworld\node_modules\webpack\lib\NormalModule.js:358:12
at C:\Users\Asus\Desktop\biad\v3-react-helloworld\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (C:\Users\Asus\Desktop\biad\v3-react-helloworld\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
at Array.<anonymous> (C:\Users\Asus\Desktop\biad\v3-react-helloworld\node_modules\loader-runner\lib\LoaderRunner.js:205:4) {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
网上说是 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,所以会报错。
试了网上的几种方法都不行
PS C:\Users\Asus\Desktop\biad\v3-react-helloworld> export NODE_OPTIONS=--openssl-legacy-provider
export : 无法将“export”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ export NODE_OPTIONS=--openssl-legacy-provider
+ ~~~~~~
+ CategoryInfo : ObjectNotFound: (export:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
执行set NODE_OPTIONS=--openssl-legacy-provider也还是报错
最后把这句代码加到package.json里的运行命令里就好用了
"scripts": {
"start": "SET NODE_OPTIONS=--openssl-legacy-provider && umi dev",
"build": "SET NODE_OPTIONS=--openssl-legacy-provider && umi build",
"test": "umi test",
"lint": "eslint {src,mock,tests}/**/*.{js,jsx} --fix",
"precommit": "lint-staged"
},
艾玛浪费我半天时间……

3万+

被折叠的 条评论
为什么被折叠?



