reactjs 错误:错误:0308010C:数字信封例程::不支持

mspsb9vt  于 2023-01-05  发布在  React
关注(0)|答案(1)|浏览(187)

当我运行我的项目每次它显示相同的错误任何人解释我如何摆脱这个错误错误。

`PS C:\vervebot\trinethra_icms> npm run dev

> inventory-management@1.0.0 dev
> concurrently "npm run server" "npm run client"

[1] 
[1] > inventory-management@1.0.0 client
[1] > npm start --prefix client
[1]
[0]
[0] > inventory-management@1.0.0 server
[0] > nodemon index.js
[0]
[0] [nodemon] 2.0.20
[0] [nodemon] to restart at any time, enter `rs`
[0] [nodemon] watching path(s): *.*
[0] [nodemon] watching extensions: js,mjs,json
[0] [nodemon] starting `node index.js`
[1] 
[1] > client@0.1.0 start
[1] > react-scripts start
[1]
[0] Server running on PORT 5001
[1] [HPM] Proxy created: /  -> http://localhost:5001
[1] [HPM] Proxy created: /  -> https://dataservices.sypramsoftware.com/api
[1] i 「wds」: Project is running at http://192.168.1.11/
[1] i 「wds」: webpack output is served from
[1] i 「wds」: Content not from webpack is served from C:\vervebot\trinethra_icms\client\public
[1] i 「wds」: 404s will fallback to /
[1] Starting the development server...
[1]
[1] Error: error:0308010C:digital envelope routines::unsupported
[1]     at new Hash (node:internal/crypto/hash:71:19)
[1]     at Object.createHash (node:crypto:133:10)
[1]     at module.exports (C:\vervebot\trinethra_icms\client\node_modules\webpack\lib\util\createHash.js:135:53)
[1]     at NormalModule._initBuildHash (C:\vervebot\trinethra_icms\client\node_modules\webpack\lib\NormalModule.js:417:16)
[1]     at handleParseError (C:\vervebot\trinethra_icms\client\node_modules\webpack\lib\NormalModule.js:471:10)
[1]     at C:\vervebot\trinethra_icms\client\node_modules\webpack\lib\NormalModule.js:503:5
[1]     at C:\vervebot\trinethra_icms\client\node_modules\webpack\lib\NormalModule.js:358:12
[1]     at C:\vervebot\trinethra_icms\client\node_modules\loader-runner\lib\LoaderRunner.js:373:3
[1]     at iterateNormalLoaders (C:\vervebot\trinethra_icms\client\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
[1]     at iterateNormalLoaders (C:\vervebot\trinethra_icms\client\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
[1] C:\vervebot\trinethra_icms\client\node_modules\react-scripts\scripts\start.js:19
[1]   throw err;
[1]   ^
[1]
[1] Error: error:0308010C:digital envelope routines::unsupported
[1]     at new Hash (node:internal/crypto/hash:71:19)
[1]     at Object.createHash (node:crypto:133:10)
[1]     at module.exports (C:\vervebot\trinethra_icms\client\node_modules\webpack\lib\util\createHash.js:135:53)
[1]     at NormalModule._initBuildHash (C:\vervebot\trinethra_icms\client\node_modules\webpack\lib\NormalModule.js:417:16)
[1]     at C:\vervebot\trinethra_icms\client\node_modules\webpack\lib\NormalModule.js:452:10
[1]     at C:\vervebot\trinethra_icms\client\node_modules\webpack\lib\NormalModule.js:323:13
[1]     at C:\vervebot\trinethra_icms\client\node_modules\loader-runner\lib\LoaderRunner.js:367:11
[1]     at C:\vervebot\trinethra_icms\client\node_modules\loader-runner\lib\LoaderRunner.js:233:18
[1]     at context.callback (C:\vervebot\trinethra_icms\client\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
[1]     at C:\vervebot\trinethra_icms\client\node_modules\babel-loader\lib\index.js:59:103 {
[1]   opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
[1]   library: 'digital envelope routines',
[1]   reason: 'unsupported',
[1]   code: 'ERR_OSSL_EVP_UNSUPPORTED'
[1] }
[1]
[1] Node.js v18.12.1
[1] npm run client exited with code 1`

这是屏幕截图,它将有助于获得清晰的概念。
我还使用了npm审计修复--force,但我必须删除npm模块并重新安装。完成所有这些操作后,我再次收到相同的错误。

fcy6dtqo

fcy6dtqo1#

我怀疑你的机器上安装了node.js 17,出现这个错误是因为node.js 17使用了OpenSSL3,OpenSSL3更改了md家族(包括md4)初始化上下文的代码,而且这是一个破坏性的更改,你可以通过几种方法解决这个问题,
将package.json中的“启动”脚本更改为"start": "react-scripts --openssl-legacy-provider start"
或者您可以降级您的节点版本,您可以使用nvm通过命令行快速安装和使用不同版本的节点。

相关问题