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


当前回答

这是最简单的答案。

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

例子: NPM I react-scripts@latest

其他回答

如果我们使用当前的LTS版本的Node.js,那么这个错误将不会出现。将Node.js版本降级到当前的LTS版本(16.13.0)。

有多种方法可以安装所需的版本。其中之一是使用nvm (Node.js版本管理器)。

步骤1:安装nvm(如果没有安装,请使用节点版本管理器(nvm)在本地安装Node.js) 步骤2:nvm安装16.13.0(或lts)

你可以试试其中的一种:

1. 降级到Node.js v16。

您可以从Node.js的网站重新安装当前的LTS版本。 你也可以使用nvm。对于Windows,请使用vvm - Windows。

2. 启用旧的OpenSSL提供程序。

在类unix (Linux, macOS, Git bash等)上:

export NODE_OPTIONS=--openssl-legacy-provider

在Windows命令提示符中:

set NODE_OPTIONS=--openssl-legacy-provider

PowerShell:

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

参考

我在GitHub上找到了以下命令:

对于Windows,在cmd中使用以下命令:

set NODE_OPTIONS=--openssl-legacy-provider

对于Unix,使用:

export NODE_OPTIONS=--openssl-legacy-provider

与节点v18.0.0版本相同的错误 和nuxt框架版本2.15时运行的开发服务器,将修复:

"scripts": {
  "dev": "NODE_OPTIONS=--openssl-legacy-provider nuxt"
}

“快速修复”的建议对我很有效。cd到你新建的App目录;您可能需要sudo这个安装,然后运行以下:

运行: NPM install -g NPM -check-updates

然后: 中央大学- u

然后: npm安装

然后: npm开始