node_modules\webpack\hot\dev-server.jsError: error:0308010C:digital envelope routines::unsupported
时间: 2023-11-11 12:48:54 浏览: 132
这个错误是由于在启动新版本的node.js环境时,旧版本的node.js项目无法兼容而导致的。报错信息中的 error:0308010C:digital envelope routines::unsupported 意味着使用了不受支持的数字信封算法。为了解决这个问题,你可以尝试以下几个步骤:
1. 首先,确认你的node.js版本是否与项目所需的版本匹配。如果不匹配,你可以尝试升级项目依赖的node.js版本。
2. 如果项目依赖的其他模块也出现了类似的错误,你可以尝试更新这些模块的版本,以确保与新版本的node.js兼容。
3. 如果你使用了webpack-dev-server,并且报错信息中提到了webpack-dev-server相关的文件,你可以尝试重新安装webpack-dev-server模块。你可以使用命令 npm install webpack-dev-server --save-dev 来重新安装。
4. 如果你仍然遇到问题,你可以尝试在启动项目之前,在终端中输入以下命令:
$env:NODE_OPTIONS="--openssl-legacy-provider"
然后再执行 npm run dev 启动项目。
希望以上方法可以帮助你解决问题。如果你还有其他问题,请随时提问。
相关问题
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'
这个错误是由于在使用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的旧版本可能会导致这个问题。
希望这些解决方法能帮助到你解决问题。如果还有其他问题,请随时提问。
npm run dev启动项目报错如下应该如何解决? INFO Starting development server... 10% building 2/5 modules 3 active ...der\index.js??ref--13-0!F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\src\main.jsError: 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 (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\webpack\lib\util\createHash.js:135:53) at NormalModule._initBuildHash (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\webpack\lib\NormalModule.js:417:16) at handleParseError (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\webpack\lib\NormalModule.js:471:10) at F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\webpack\lib\NormalModule.js:503:5 at F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\webpack\lib\NormalModule.js:358:12 at F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\loader-runner\lib\LoaderRunner.js:373:3 at iterateNormalLoaders (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\loader-runner\lib\LoaderRunner.js:214:10) at iterateNormalLoaders (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\loader-runner\lib\LoaderRunner.js:221:10) at F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\loader-runner\lib\LoaderRunner.js:236:3 at runSyncOrAsync (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\loader-runner\lib\LoaderRunner.js:130:11) at iterateNormalLoaders (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\loader-runner\lib\LoaderRunner.js:232:2) at Array.<anonymous> (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\loader-runner\lib\LoaderRunner.js:205:4) at Storage.finished (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16) at F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9 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 (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\webpack\lib\util\createHash.js:135:53) at NormalModule._initBuildHash (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\webpack\lib\NormalModule.js:417:16) at handleParseError (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\webpack\lib\NormalModule.js:471:10) at F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\webpack\lib\NormalModule.js:503:5 at F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\webpack\lib\NormalModule.js:358:12 at F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\loader-runner\lib\LoaderRunner.js:373:3 at iterateNormalLoaders (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\loader-runner\lib\LoaderRunner.js:214:10) at Array.<anonymous> (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\loader-runner\lib\LoaderRunner.js:205:4) at Storage.finished (F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16) at F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9 at F:\NMD_Link_Of_Things\thinglinks\thinglinks-ui\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' } Node.js v18.16.0
这个错误表明在启动项目时出现了一个加密算法不受支持的问题。可能有几种解决方法:
1. 确保你的 Node.js 版本符合项目的要求。根据你提供的信息,你正在使用 Node.js v18.16.0。可能该项目不支持这个版本。尝试降级到项目所需的版本。
2. 清除 npm 缓存。运行以下命令清除 npm 缓存:
```
npm cache clean --force
```
3. 删除 `node_modules` 目录并重新安装依赖项。运行以下命令:
```
rm -rf node_modules
npm install
```
4. 确保你的项目依赖项是最新的版本。更新项目的依赖项可以解决一些兼容性问题。可以尝试运行以下命令更新所有依赖项:
```
npm update
```
如果以上方法都不能解决问题,你可能需要在项目的 GitHub 页面或开发者社区中寻求帮助,以获取更具体的解决方案。
阅读全文