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:\BaiduNetdiskDownload\demo\node_modules\webpack\lib\util\createHash.js:135:53) at NormalModule._initBuildHash (D:\BaiduNetdiskDownload\demo\node_modules\webpack\lib\NormalModule.js:417:16) at handleParseError (D:\BaiduNetdiskDownload\demo\node_modules\webpack\lib\NormalModule.js:471:10) at D:\BaiduNetdiskDownload\demo\node_modules\webpack\lib\NormalModule.js:503:5 at D:\BaiduNetdiskDownload\demo\node_modules\webpack\lib\NormalModule.js:358:12 at D:\BaiduNetdiskDownload\demo\node_modules\loader-runner\lib\LoaderRunner.js:373:3 at iterateNormalLoaders (D:\BaiduNetdiskDownload\demo\node_modules\loader-runner\lib\LoaderRunner.js:214:10) at Array.<anonymous> (D:\BaiduNetdiskDownload\demo\node_modules\loader-runner\lib\LoaderRunner.js:205:4) at Storage.finished (D:\BaiduNetdiskDownload\demo\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16) at D:\BaiduNetdiskDownload\demo\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9 at D:\BaiduNetdiskDownload\demo\node_modules\graceful-fs\graceful-fs.js:123:16 at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) { opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED'
时间: 2023-07-22 16:11:16 浏览: 96
这个错误是由于在使用webpack构建时,使用了不受支持的加密算法而引起的。具体来说,webpack在构建过程中使用了crypto模块的createHash方法创建哈希,但该方法使用了不受支持的加密算法。这可能是由于你使用的Node.js版本不支持该加密算法。
要解决这个问题,你可以尝试以下几个步骤:
1. 确保你使用的Node.js版本是最新的稳定版本。可以通过在终端中运行`node -v`来检查当前安装的Node.js版本,并访问Node.js官方网站(https://nodejs.org/)下载最新版本。
2. 如果你已经使用的是最新版本的Node.js,那么可能是因为你的项目依赖包中的某些模块与webpack不兼容,导致出现了这个问题。你可以尝试更新项目的依赖包,特别是与加密相关的依赖包,或者尝试删除`node_modules`文件夹并重新运行`npm install`来重新安装依赖包。
3. 如果上述步骤都没有解决问题,你可以尝试使用其他构建工具或者升级webpack的版本。有时候,某些构建工具或者webpack的旧版本可能会导致这个问题。
希望这些解决方法能帮助到你解决问题。如果还有其他问题,请随时提问。
相关问题
error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:71:19)
这个错误是由于使用了不支持的加密算法引起的。根据引用,这个错误可能是由于使用的 OpenSSL 版本不兼容所导致的。可以尝试修改项目的 package.json 文件中的脚本,使用 `--openssl-legacy-provider` 参数来指定使用旧版的 OpenSSL 提供者。具体操作可以参考引用中的示例。
另外,引用提到可以尝试将 Node 版本降级到 16.20.0,并在环境变量中进行相应的配置,这也可能解决这个问题。然而,这可能会导致其他问题,比如无法访问迅雷。因此,建议在降低 Node.js 版本之前先考虑其他解决方案。
综上所述,你可以尝试使用引用中的方法修改 package.json 文件,或者考虑其他解决方案,而不是降级 Node.js 版本。这样可以避免引起其他不必要的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [解决 Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypt](https://blog.csdn.net/u013258020/article/details/129920707)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *3* [Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/h](https://blog.csdn.net/mp624183768/article/details/129883415)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:71:19)
根据提供的引用内容,这个错误是由于使用了不受支持的加密算法引起的。根据引用和引用的信息,可以尝试在package.json文件的scripts中新增一行配置"SET NODE_OPTIONS=--openssl-legacy-provider"来解决这个问题。这个配置可以设置Node.js运行时使用旧版本的OpenSSL,从而避免不受支持的加密算法导致的错误。如果还是出现问题,引用建议将Node.js版本降级至16.20.0,并在环境变量中设置相关配置。然而,需要注意的是,降级Node.js版本可能会导致其他问题,比如无法访问迅雷。如果这是一个问题的话,可以尝试安装指定版本的迅雷以避免冲突。总的来说,建议尝试在scripts中设置"SET NODE_OPTIONS=--openssl-legacy-provider"来解决这个错误。如果问题仍然存在,可以考虑更换其他解决方案或者进一步调查该错误的原因。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>