在WebStorm遇到Error: error:0308010C:digital envelope routines::unsupported报错时的解决方案

作者:CSDN-PleaSure乐事

欢迎大家阅读我的博客 希望大家喜欢

使用环境:WebStorm

目录

介绍

解决

分析

方法一:设置环境变量

使用WebStorm

使用其他编译器

方法二:使用nvm切换nodejs版本

方法三:更新依赖版本


介绍

在初遇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乐事

希望我的博客对您有帮助,也希望在对您有帮助时您可以为我留下点赞收藏与关注,这对我真的很重要,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值