我创建了默认的IntelliJ IDEA React项目,并得到了这个:

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:130:10)
    at module.exports (/Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/NormalModule.js:471:10)
    at /Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/NormalModule.js:503:5
    at /Users/user/Programming Documents/WebServer/untitled/node_modules/webpack/lib/NormalModule.js:358:12
    at /Users/user/Programming Documents/WebServer/untitled/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/Users/user/Programming Documents/WebServer/untitled/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/Users/user/Programming Documents/WebServer/untitled/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
/Users/user/Programming Documents/WebServer/untitled/node_modules/react-scripts/scripts/start.js:19
  throw err;
  ^

这似乎是最近才出现的问题——webpack在4天前遇到了这个问题,目前仍在处理。


当前回答

当我试图运行我新克隆的网站时,我就遇到了这个问题:

npm install

其他回答

这可能不是每个人都能回答的问题。但是对于在docker中运行node 17及以上版本的任何人来说,降级就像每个人都说的那样会有帮助。不需要open-legacy-sslprovider。一个简单的开关在您的Dockerfile从使用

From node

使用

From node:16.* 

修复了docker中的此问题。

运行审计为我解决了这个问题

npm audit fix --force

PowerShell:

$env:NODE_OPTIONS = "--openssl-legacy-provider"

它适用于Node.js v18.7.0。

在你更改npm版本或进行任何配置更改之前,只需运行npm update将你的包更新到最新的小版本。

这为我解决了问题。

听起来很简单,如果可行的话,升级包中的所有依赖项。json到最新的(只要在npm中输入名称并使用建议的版本),也使用node的最新LTS版本。

我以前遇到过问题,即使将我的项目迁移到使用yarn,我也能够最终解决这个问题,不需要用ssl黑客来妥协安全性