Error: error:0308010C:digital envelope routines::unsupported (Node.js v19.4.0)

问题描述 投票:0回答:2
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:140:10)
    at module.exports (D:\web development\frontend\react\reduxbasic\node_modules\webpack\lib\util\createHash.js:90:53)
    at NormalModule._initBuildHash (D:\web development\frontend\react\reduxbasic\node_modules\webpack\lib\NormalModule.js:386:16)      
    at handleParseError (D:\web development\frontend\react\reduxbasic\node_modules\webpack\lib\NormalModule.js:434:10)
    at D:\web development\frontend\react\reduxbasic\node_modules\webpack\lib\NormalModule.js:466:5
    at D:\web development\frontend\react\reduxbasic\node_modules\webpack\lib\NormalModule.js:327:12
    at D:\web development\frontend\react\reduxbasic\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (D:\web development\frontend\react\reduxbasic\node_modules\loader-runner\lib\LoaderRunner.js:214:10)       
    at iterateNormalLoaders (D:\web development\frontend\react\reduxbasic\node_modules\loader-runner\lib\LoaderRunner.js:221:10)       
    at D:\web development\frontend\react\reduxbasic\node_modules\loader-runner\lib\LoaderRunner.js:236:3
    at runSyncOrAsync (D:\web development\frontend\react\reduxbasic\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
    at iterateNormalLoaders (D:\web development\frontend\react\reduxbasic\node_modules\loader-runner\lib\LoaderRunner.js:232:2)        
    at Array.<anonymous> (D:\web development\frontend\react\reduxbasic\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
    at Storage.finished (D:\web development\frontend\react\reduxbasic\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
    at D:\web development\frontend\react\reduxbasic\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
D:\web development\frontend\react\reduxbasic\node_modules\react-scripts\scripts\start.js:19
  throw err;
  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:140:10)
    at module.exports (D:\web development\frontend\react\reduxbasic\node_modules\webpack\lib\util\createHash.js:90:53)
    at NormalModule._initBuildHash (D:\web development\frontend\react\reduxbasic\node_modules\webpack\lib\NormalModule.js:386:16)
    at D:\web development\frontend\react\reduxbasic\node_modules\webpack\lib\NormalModule.js:418:10
    at D:\web development\frontend\react\reduxbasic\node_modules\webpack\lib\NormalModule.js:293:13
    at D:\web development\frontend\react\reduxbasic\node_modules\loader-runner\lib\LoaderRunner.js:367:11
    at D:\web development\frontend\react\reduxbasic\node_modules\loader-runner\lib\LoaderRunner.js:233:18
    at context.callback (D:\web development\frontend\react\reduxbasic\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
    at D:\web development\frontend\react\reduxbasic\node_modules\babel-loader\lib\index.js:51:103 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v19.4.0
PS D:\web development\frontend\react\reduxbasic>

如何解决这个错误

reactjs npm npm-scripts npm-start
2个回答
1
投票

问题:

正如我所看到的,您正在使用

version 19
的 node.js(不推荐给大多数用户),在 Node.js 官方网站上也有提及。

解决方案:

  1. 前往Node.js下载页面

  2. 下载

    version 18
    的 node.js (LTS 推荐给大多数用户)适用于您的操作系统。

  3. 删除 node_modules 和 package_lock 文件。

  4. 奔跑

    npm install
    .

  5. 再次运行您的应用程序。

现在应该解决问题。


0
投票

我的修复


你必须在这个文件中使用

md5
md4
是默认的,但它不会起作用。

Crypto 是来自 Node.js 的工具 https://nodejs.org/api/crypto.html#cryptocreatehashalgorithm-options

我知道这并不理想,但现在可以正常工作,直到我删除 node_modules 文件夹😭

有了这个版本

➜  ~ node -v 
v19.8.1
➜  ~ npx react-native -v  
10.2.0
➜  ~ react-native --version
4.14.0
➜  ~ npm -v
9.5.1

我的错误

© www.soinside.com 2019 - 2024. All rights reserved.