Error: error:0308010C:digital envelope routines::unsupported

news/2024/7/10 0:50:10 标签: vue

1.报错背景

出现这个错误是因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响.

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (D:\06_code\vscode\shopping-system\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (D:\06_code\vscode\shopping-system\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (D:\06_code\vscode\shopping-system\node_modules\webpack\lib\NormalModule.js:471:10)
    at D:\06_code\vscode\shopping-system\node_modules\webpack\lib\NormalModule.js:503:5
    at D:\06_code\vscode\shopping-system\node_modules\webpack\lib\NormalModule.js:358:12
    at D:\06_code\vscode\shopping-system\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (D:\06_code\vscode\shopping-system\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at Array.<anonymous> (D:\06_code\vscode\shopping-system\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
    at Storage.finished (D:\06_code\vscode\shopping-system\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
    at D:\06_code\vscode\shopping-system\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
    at D:\06_code\vscode\shopping-system\node_modules\graceful-fs\graceful-fs.js:123: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'
}

2.报错原因

根据报错信息,这个问题涉及到项目启动时的构建过程中的一个模块。报错中提到了 babel-loader 和 webpack 相关的文件。应该是下载的版本和依赖的版本不一致。

要解决这个问题,可以尝试以下几个步骤:

1.更新依赖项:运行以下命令更新项目的依赖项,以确保使用的是最新版本的 babel-loader 和 webpack:npm update

2.清除缓存:运行以下命令清除 npm 缓存:npm cache clean --force

3.删除 node_modules 目录:运行以下命令删除项目的 node_modules 目录:rm -rf node_modules。重新安装依赖项:运行以下命令重新安装项目的依赖项:npm install

4.方法1.打开终端(按健win+R弹出窗口,键盘输入cmd,然后敲回车)并按照说明粘贴这些:(不一定行,本人失败了)
Linux & Mac OS (windows git bash)

export NODE_OPTIONS=--openssl-legacy-provider


windows命令提示符:

set NODE_OPTIONS=--openssl-legacy-provider

5.检查 Node.js 版本:确保你使用的是与项目兼容的 Node.js 版本。根据报错信息,你使用的是 Node.js v18.16.0,可以尝试降级到一个稳定的版本(例如 v14.x.x 或 v16.x.x)

3.问题解决

我最后将 Node.js版本从Node.js v18.16.0 降到14.17.0后OK啦,应该降到16版本也能行。

具体的安装可以参考下面文章

NVM的安装和NPM下载速度慢的问题 - 简书

注意:NVM的安装目录不能有空格和中文、所以默认的安装目录Program File不行的、需要自己更改。


http://www.niftyadmin.cn/n/371237.html

相关文章

泉州银行:面向业务场景的赋能型数据中台

关 注gzh"大数据食铁兽"&#xff0c;了解更多银行大数据案例 案例简介 作为支持数字经济发展和高质量发展的一份子&#xff0c;数字化转型成为泉州银行当前的重要任务。为加强业务场景数据赋能&#xff0c;数据资产共享流通&#xff0c;我行以“数聚、数用、数智”为…

附下载 | 354个数据开发利用机构名单来了

数字中国建设正在驶入发展快车道。2023年2月&#xff0c;中共中央、国务院印发的《数字中国建设整体布局规划》提出&#xff0c;到2025年&#xff0c;基本形成横向打通、纵向贯通、协调有力的一体化推进格局&#xff0c;数字中国建设取得重要进展。到2035年&#xff0c;数字化发…

【论文解读|GL-Cache 】基于组级学习的缓存替换算法

论文原文&#xff1a; GL-Cache: Group-level learning for efficient and high-performance caching | FAST 23 源码 地址&#xff1a; GitHub - Thesys-lab/fast23-GLCache: Repository for FAST23 paper GL-Cache: Group-level Learning for Efficient and High-Performance…

企业产品操作手册,真的很有必要吗?

产品操作手册是一种对于产品使用者而言非常重要的工具。它是一份向用户介绍产品使用方法和功能的文档&#xff0c;可以提供关于产品的详细信息&#xff0c;解答用户的疑问&#xff0c;并帮助用户快速上手使用产品。 产品操作手册的必要性&#xff1a; 一、提高用户使用体验 …

Buck环路响应伯德图Mathcad绘制

一直不理解环路响应&#xff0c;调试也是应用参考电路&#xff0c;虽然自动化的课程忘的差不多了&#xff0c;但也不是偷懒的借口&#xff0c;直到昨天看到可以用Mathcad计算BUCK电路工作在电压控制的CCM连续模式&#xff0c;这是基于开关平均法推导出的小信号传递函数模型。原…

Windows 7出现两个IP地址,导致联网问题

Qt源码解析 索引 Windows7 出现两个IP介绍 问题描述 win7电脑连接网线后出现两个IP地址&#xff0c;导致网络连接出现问题。 可能的现象有 连接网络出现黄色感叹号 局域网即时通信&#xff08;例如飞秋软件收发失败&#xff09; 修改IP地址不生效 服务软件启动报错&#…

JS逆向-加密参数定位方法总结(1)

前言 本文是该专栏的第50篇,后面会持续分享python爬虫干货知识,记得关注。 爬虫工程师在处理爬虫项目的时候,难免会遇到需要JS逆向的平台。那么对于需要JS逆向的网站,其加密参数需要怎样快速去定位呢?笔者将目前常用的几种方法总结为上下两篇,总的来说,不同的定位方法其…

C++ 异步编程

1. 异步编程含义及作用 相对于同步编程方式时&#xff0c;由于每个线程同时只能发起一个请求并同步等待返回&#xff0c;所以为了提高系统性能&#xff0c;此时我们就需要引入更多的线程来实现并行化处理。但是 多线程下对共享资源进行访问时&#xff0c;不可避免会引入资源争用…