我创建了默认的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天前遇到了这个问题,目前仍在处理。


当前回答

一些顶尖的答案并不奏效。

export NODE_OPTIONS=--openssl-legacy-provider

部分顶部答案不适用,修改包。json文件:

"start": "react-scripts --openssl-legacy-provider start"

这是由最新的node.js V17与OpenSSL兼容问题引起的,请参阅GitHub上的这个问题。

最简单的方法是从node.js V17降级到node.js V16。关于如何降级node.js,请参阅这篇文章。

其他回答

构造变压器失败:错误:错误:0308010C:数字信封例程::不支持

解决上述错误的最简单和最简单的解决方案是将Node.js降级到v14.18.1。然后只需删除文件夹node_modules,并尝试重新构建项目,您的错误必须解决。

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

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

这在我的应用博览会上很管用(从Node.js 17降级到Node.js 12或14)。

如果你安装了nvm,你可以改变node的版本:

首先在nvm中检查Node.js的版本:

nvm list

其次,安装版本12或14:

nvm install v12.22.8

这是最简单的答案。

如果你正在使用react-scripts,你现在可以简单地升级到5.0.0版本(或更高版本),这似乎已经解决了这个问题(它包括一个更新版本的webpack)。

例子: NPM I react-scripts@latest

在角。io项目,node .js的接受(不支持)版本是v16.x.x。

在Nodes v17中。X版本,同样的错误发生在这个问题中描述。

解决方案:

卸载节点,重新安装v16版本。x (Windows)。