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

解决报错:this[kHandle] = new _Hash(algorithm, xofLen);

前端项目编译报错:

node:internal/crypto/hash:68this[kHandle] = new _Hash(algorithm, xofLen);^Error: error:0308010C:digital envelope routines::unsupportedat new Hash (node:internal/crypto/hash:68:19)at Object.createHash (node:crypto:138:10)at module.exports (D:\code\work_code\qulian\zky-jsc\zky-screen-web\node_modules\webpack\lib\util\createHash.js:
135:53)

这个错误是由于 Node.js 的加密模块与当前项目使用的 OpenSSL 版本不兼容导致的。常见于 Node.js v17+ 版本,因为这些版本使用了 OpenSSL 3.0,而一些老项目可能依赖旧版的加密算法。

解决方案:

1. 临时解决方案(推荐先尝试)

在运行命令前设置环境变量:

export NODE_OPTIONS=--openssl-legacy-provider

Windows 系统使用:
 

set NODE_OPTIONS=--openssl-legacy-provider
2. 长期解决方案

修改项目的 package.json,在启动脚本中加入环境变量:

"scripts": {"start": "set NODE_OPTIONS=--openssl-legacy-provider && react-scripts start","build": "set NODE_OPTIONS=--openssl-legacy-provider && react-scripts build"
}
3. 其他可选方案
  • 降级 Node.js 到 v16(LTS 版本)

  • 更新 webpack 和相关依赖到最新版本

  • 检查项目是否有过时的加密相关依赖

http://www.xdnf.cn/news/1429.html

相关文章:

  • Java面试题汇总
  • CSS-跟随图片变化的背景色
  • 【Java学习笔记】选择结构
  • 4月23日作业
  • 聊聊自动化用例的维护
  • Java 实现单链表翻转(附详细注释)
  • PH传感器详解(STM32)
  • 配置kafka与spark连接
  • 标题:掌握 PowerShell 防火墙管理:C# 中的高效操作指南
  • Kafka 核心使用机制总结
  • vue实现静默打印pdf
  • Redis 详解:安装、数据类型、事务、配置、持久化、订阅/发布、主从复制、哨兵机制、缓存
  • 华为AR1200 telnet设置
  • zkPass案例实战之合约篇
  • 使用react的ant-design-pro框架写一个地图组件,可以搜索地图,可以点击地图获取点击的位置及经纬度
  • 彻底禁用windows的语音识别快捷键win+ctrl+s
  • 【计算机视觉】CV项目实战- SORT 多目标跟踪算法
  • 融山科技前端面经
  • Fabric.js 设置画布背景
  • OpenCV 图形API(57)颜色空间转换-----将图像从 RGB 色彩空间转换为 YUV 色彩空间函数RGB2YUV()
  • Ragflow、Dify、FastGPT、COZE核心差异对比与Ragflow的深度文档理解能力​​和​​全流程优化设计
  • python后端程序部署到服务器 Ubuntu并配合 Vue 前端页面运行
  • 【CSS】层叠,优先级与继承(四):层叠,优先级与继承的关系
  • 电液伺服高频应力腐蚀疲劳试验机
  • 长连接、短连接与WebSocket的基本知识
  • Lua 第9部分 闭包
  • uv pip install 的本质是什么?
  • 十大物联网平台-物联网十大品牌
  • Java高级:数据库访问优化
  • 量子混合计算革命:Qiskit 3.0开启云上量子开发新时代