作者:CSDN-PleaSure乐事
欢迎大家阅读我的博客 希望大家喜欢
使用环境:WebStorm
目录
介绍
在初遇AntDesignPro的时候,可能我们都会遇到该问题:
Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:79:19) at Object.createHash (node:crypto:139:10)
也就是标题当中提到的报错。
那我们应该怎么解决呢?
解决
分析
错误 Error: error:0308010C:digital envelope routines::unsupported 通常是由于 Node.js 的 OpenSSL 版本不兼容或配置问题导致的。这个错误通常出现在使用某些加密功能时,特别是在 Node.js 17 及以上版本中。
方法一:设置环境变量
遇到该困难,我们可以通过设置 NODE_OPTIONS
环境变量来解决这个问题。
使用WebStorm
短期解决方法-使用终端直接配置
首先,在WebStorm中,点击底部工具栏中的 "Terminal" 标签,或者通过菜单 View > Tool Windows > Terminal 打开终端。
然后输入以下指令:
export NODE_OPTIONS=--openssl-legacy-provider
然后在终端中输入运行代码即可解决:
npm run start
长期解决方法-直接在运行配置中设置
1.打开运行配置
点击顶部菜单中的 Run > Edit Configurations...
2.选择或创建一个新的运行配置:
如果你已经有 npm 或 Node.js 的运行配置,选择它。如果没有,可以点击左上角的 + 按钮,选择 npm 或 Node.js 创建一个新的运行配置。
3.添加环境变量:
在配置页面中,找到 Environment variables 字段。输入 NODE_OPTIONS=--openssl-legacy-provider,然后按回车键。(一般跟在Enviroment后面)
4.保存配置:
点击 Apply 和 OK 保存配置。
5.启动项目
使用刚刚配置的运行配置来启动项目。可以通过点击顶部工具栏中的绿色运行按钮,或者通过菜单 Run > Run 'your-config-name' 来启动。
若显示以下样式,则表示已经完成配置。
这个时候如果遇到打开的端口不是8000,如果用到的是8001、8002等端口,那么表示你的8000端口被占用了,顺延到了下一个端口。可以将整个项目关闭后重启,这样可以解决问题。
(重启可以解决99%的问题)
使用终端
如果知识想使用终端配置,那可以参照以下方法:
1.设置环境变量
设置一个临时的环境变量 NODE_OPTIONS,使其包含 --openssl-legacy-provider 选项。
export NODE_OPTIONS=--openssl-legacy-provider
2.运行项目
npm run start
方法二:使用nvm切换nodejs版本
如果使用的是 nvm
,可以尝试切换到一个较旧的 Node.js 版本,因为较新的版本可能会有兼容性问题。例如,切换到 Node.js 16.x:
nvm install 16
nvm use 16
然后再次运行项目即可:
npm run start
方法三:更新依赖版本
我们应该确保所有依赖项都是最新的,并且与当前的 Node.js 版本兼容,可以尝试更新 @umijs/preset-built-in
和其他相关依赖项:
npm update @umijs/preset-built-in
npm update
作者:CSDN-PleaSure乐事
希望我的博客对您有帮助,也希望在对您有帮助时您可以为我留下点赞收藏与关注,这对我真的很重要,谢谢!