npm / yarn start 项目失败解决方法

159 阅读1分钟
### 报错内容
Starting the development server...

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:68:19)
    at Object.createHash (node:crypto:138:10)
    at module.exports (D:\Desktop\nevergiveup\blog-react\node_modules\webpack\lib\util\createHash.js:90:53)
    at NormalModule._initBuildHash (D:\Desktop\nevergiveup\blog-react\node_modules\webpack\lib\NormalModule.js:401:16)
    at handleParseError (D:\Desktop\nevergiveup\blog-react\node_modules\webpack\lib\NormalModule.js:449:10)
    at D:\Desktop\nevergiveup\blog-react\node_modules\webpack\lib\NormalModule.js:481:5
    at D:\Desktop\nevergiveup\blog-react\node_modules\webpack\lib\NormalModule.js:342:12
    at D:\Desktop\nevergiveup\blog-react\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (D:\Desktop\nevergiveup\blog-react\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at iterateNormalLoaders (D:\Desktop\nevergiveup\blog-react\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
    at D:\Desktop\nevergiveup\blog-react\node_modules\loader-runner\lib\LoaderRunner.js:236:3
    at runSyncOrAsync (D:\Desktop\nevergiveup\blog-react\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
    at iterateNormalLoaders (D:\Desktop\nevergiveup\blog-react\node_modules\loader-runner\lib\LoaderRunner.js:232:2)
    at Array.<anonymous> (D:\Desktop\nevergiveup\blog-react\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
    at Storage.finished (D:\Desktop\nevergiveup\blog-react\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:43:16)
    at D:\Desktop\nevergiveup\blog-react\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:79:9
D:\Desktop\nevergiveup\blog-react\scripts\start.js:11
  throw err;
  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:68:19)
    at Object.createHash (node:crypto:138:10)
    at module.exports (D:\Desktop\nevergiveup\blog-react\node_modules\webpack\lib\util\createHash.js:90:53)
    at NormalModule._initBuildHash (D:\Desktop\nevergiveup\blog-react\node_modules\webpack\lib\NormalModule.js:401:16)
    at D:\Desktop\nevergiveup\blog-react\node_modules\webpack\lib\NormalModule.js:433:10
    at D:\Desktop\nevergiveup\blog-react\node_modules\webpack\lib\NormalModule.js:308:13
    at D:\Desktop\nevergiveup\blog-react\node_modules\loader-runner\lib\LoaderRunner.js:367:11
    at D:\Desktop\nevergiveup\blog-react\node_modules\loader-runner\lib\LoaderRunner.js:233:18
    at context.callback (D:\Desktop\nevergiveup\blog-react\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
    at D:\Desktop\nevergiveup\blog-react\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'
}

解决方法

🍉在package.json文件中的start脚本处添加SET NODE_OPTIONS=--openssl-legacy-provider && 即可。

image.png

最后

原本还以为是版本的问题,哼哧哼哧疯狂换版本, 不过学了个nvm,感觉很好用,推荐大家都用来做node的版本管理。

下面附上nvm中文网的地址🍜

下次见咯🚗~