当前位置: 首页 > news >正文

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

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


http://www.mrgr.cn/news/58709.html

相关文章:

  • LeetCode算法(数组)
  • 【项目】论坛系统测试
  • vscode 功能、设置备忘
  • 日常记录,使用springboot,vue2,easyexcel使实现字段的匹配导入
  • IDEA开发工具使用技巧积累
  • 重磅!又1老牌TOP刊被On Hold!这次期刊选择发文直怼科睿唯安...
  • It行业重点知识点详解操作系统学习方法
  • 什么是DSSA?
  • mysql建表
  • C#从零开始学习(GameObject实例)(unity Lab3)
  • C# LINQ 基础与应用
  • 判断特定时间点开仓的函数(编程技巧)
  • 如何提高游戏的游戏性
  • Flutter之build 方法详解
  • 创建插件 DLL 项目
  • Idea基于JRbel实现项目热部署修改Java、Xml文件无需重启项目
  • 【南方科技大学】CS315 Computer Security 【Lab6 IoT Security and Wireless Exploitation】
  • 文件下载漏洞
  • 东方博宜1180 - 数字出现次数
  • SPI通信(W25Q64)
  • nginx常规操作
  • MySQL8 配置密码和用户创建及授权详解:Java开发最佳实践
  • 【前端倒霉蛋--word导出】
  • 社交改运很简单:谋定而后动,三种人群的智慧策略,生成无敌贵人圈
  • 出差日记,记录人生百态
  • 01_Linux基础操作CentOS7学习笔记