'npm run start' 无法使用旧版本的 React

'npm run start' not working with older version of react

我从 Github 存储库下载了一些 React 代码,并通过 运行ning npm i 安装了所有依赖项。然后我尝试通过 运行ning npm run start 运行 localhost 中的代码,我在下面收到此错误:

i 「wds」: Project is running at http://192.168.0.103/
i 「wds」: webpack output is served from
i 「wds」: Content not from webpack is served from F:\framer-motion\pizzajoint\public
i 「wds」: 404s will fallback to /
Starting the development server...

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

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:135:10)
    at module.exports (F:\framer-motion\pizzajoint\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (F:\framer-motion\pizzajoint\node_modules\webpack\lib\NormalModule.js:417:16)
    at F:\framer-motion\pizzajoint\node_modules\webpack\lib\NormalModule.js:452:10
    at F:\framer-motion\pizzajoint\node_modules\webpack\lib\NormalModule.js:323:13
    at F:\framer-motion\pizzajoint\node_modules\loader-runner\lib\LoaderRunner.js:367:11
    at F:\framer-motion\pizzajoint\node_modules\loader-runner\lib\LoaderRunner.js:233:18
    at context.callback (F:\framer-motion\pizzajoint\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
    at F:\framer-motion\pizzajoint\node_modules\babel-loader\lib\index.js:59:103 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v17.5.0

可能的解决方法是什么?

要启动一个 React 项目,您必须使用 npm start。不是 npm 运行 开始.

使用 npm start,您的项目将在 运行ning http://localhost:3000/

上启动

希望这有效。

检查 package.json 是否有任何缺失的依赖项 然后使用 npm install,然后使用 npm start。 或检查package.json到运行应用程序

中提到的命令

更新:
我找到了解决方案。我所做的只是 运行 npm audit fix -f 并将 react-scripts 更新到最新版本。现在 npm start 工作正常。