[ant-design/ant-design-pro]启动项目报错 Error: error:0308010C:digital envelope routines::unsupported

2023-12-14 274 views
3
在node 版本为v18.12.0环境下运行 pnpm start 程序项目,编译的时候报错 📷 详 | Recurrence steps

在node 版本为v18.12.0环境下运行 pnpm start 程序项目,编译的时候报错,node版本为v16.17.0可正常运行

报错内容如下: node:internal/crypto/hash:71 this[kHandle] = new _Hash(algorithm, xofLen); ^

Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:71:19) at Object.createHash (node:crypto:133:10) at BulkUpdateDecorator.hashFactory (/Users/jiangxin/project_git/chiyou/examples/slave-systemnotice-index-app/node_modules/.pnpm/@umijs+deps@3.5.34/node_modules/@umijs/deps/compiled/webpack/5/bundle5.js:184154:18) at BulkUpdateDecorator.update (/Users/jiangxin/project_git/chiyou/examples/slave-systemnotice-index-app/node_modules/.pnpm/@umijs+deps@3.5.34/node_modules/@umijs/deps/compiled/webpack/5/bundle5.js:184055:50) at /Users/jiangxin/project_git/chiyou/examples/slave-systemnotice-index-app/node_modules/.pnpm/@umijs+deps@3.5.34/node_modules/@umijs/deps/compiled/webpack/5/bundle5.js:107101:9 at /Users/jiangxin/project_git/chiyou/examples/slave-systemnotice-index-app/node_modules/.pnpm/@umijs+deps@3.5.34/node_modules/@umijs/deps/compiled/webpack/5/bundle5.js:33829:16 at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) { opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED' }

📷 复现步骤 | Recurrence steps

将node运行环境切成v18.12.0可复现 按照官方使用教程通过pro create myapp 创建项目,使用pnpm安装依赖,通过pnpm start启动项目

🏞 期望结果 | Expected results

可以在node=v18.12.0 版本下正常启动

💻 复现代码 | Recurrence code

© 版本信息
  • Ant Design Pro 版本: [e.g. 5.2.0]
  • umi 版本 3.5.0
  • 浏览器环境 chrome 107
  • 开发环境 12.5.1 (21G83)
🚑 其他信息

回答

4

我也遇到了这个问题, 确实node版本降下去之后就好了

7

真的,我也遇到了这个问题, 确实node版本降下去之后就好了

3

您好,这个问题可能是由于某些依赖库和 Node.js 版本不兼容导致的。您的报错信息中提到了一个不支持的数字信封例程 (digital envelope routines::unsupported),这个问题在 OpenSSL 库中出现比较常见。

您可以尝试在项目目录下删除 .pnpm-lock.yaml 文件,然后重新执行 pnpm install 命令,看能否解决问题。

如果还是无法解决问题,可以考虑升级或降级 OpenSSL 库。这个问题可能是 OpenSSL 库版本过低或过高导致的,可以尝试在不同的版本之间切换。另外,您也可以将 Node.js 版本降到 16.x 或者更低的版本来避免这个问题。

如果您使用的是 macOS 系统,也可以尝试更新或重新安装 OpenSSL 库:

brew update
brew upgrade openssl

希望能帮到您解决问题。如果还有疑问,请继续追问。

7

嚯, AI回复, 厉害了啊, 帅帅大佬这是怎么做到的啊? @chenshuai2144

1

这是利用人工智能语言模型 ChatGPT 来生成问题回答的。我们训练了一个大规模的语言模型,能够根据输入的问题和上下文生成相应的回答。当然,由于语言模型的能力还有局限性,回答有时可能并不完美,还需要人工再确认一下,希望能对您有所帮助。

5

这个是node版本和webpack不兼容导致的,使用低版本的 node 比如 node16就能解决问题