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

vue项目启动报错(node版本与Webpack)

一、问题

因为项目需要将node版本从v14.17.0升级到v20.9.1了,然后启动项目报错

报错有些多,直接省略部分

building 2/2 modules 0 activeError: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:79:19)
at Object.createHash (node:crypto:139:10)

10% building 2/5 modules 3 active …rains\IDEA\IdeaProjects\lz-safety\LZSafety-UI\node_modules@vue\cli-service\node_modules\webpack-dev-server\client\index.js?http://localhost:3200n
ode:internal/crypto/hash:79
this[kHandle] = new _Hash(algorithm, xofLen, algorithmId, getHashCache());
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:79:19)
at Object.createHash (node:crypto:139:10)

opensslErrorStack: [
‘error:03000086:digital envelope routines::initialization error’,
‘error:0308010C:digital envelope routines::unsupported’
],
library: ‘digital envelope routines’,
reason: ‘unsupported’,
code: ‘ERR_OSSL_EVP_UNSUPPORTED’
}
Node.js v20.19.1
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

原因大致就是 Node.js 版本升级后,OpenSSL 安全策略加强导致的。
通俗点说就是 Webpack 4 默认使用 MD5 哈希算法,但 Node.js 17+ 版本默认禁用了弱哈希算法(如 MD5、SHA-1)
项目可能使用了较旧的 WebpackVue CLI 版本(如 Webpack 4),与新的 Node.js 版本不兼容

二、解决

1、修改启动脚本。
2、升级Webpack 和相关依赖。
3、将Node.js 版本降级。

单纯启动个项目,所以采用方案一

找到项目的package.json文件,修改serve选项(控制项目启动),build(打包项目的)

修改前修改后
在这里插入图片描述在这里插入图片描述

修改为以下代码

    "serve": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve","build": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",

启动项目,直接运行成功了
在这里插入图片描述

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

相关文章:

  • 创建Workforce
  • Apollo10.0学习——cyber常用指令
  • windows7安装node18
  • DeepSeek源码解构:从MoE架构到MLA的工程化实现
  • 基于 Node.js 的 HTML 转 PDF 服务
  • 在C#中对List<T>实现多属性排序
  • PostgreSQL日常维护
  • FastAPI 支持文件下载和上传
  • Axure项目实战:智慧运输平台后台管理端-订单管理1(多级交互)
  • PDF 文档结构化工具对比:Marker 与 MinerU
  • 整除的进一步性质与最小公倍数
  • 【深度剖析】三一重工的数字化转型(上1)
  • 11-码蹄集600题基础python篇
  • 【Linux高级全栈开发】2.2.1 Linux服务器百万并发实现2.2.2 Posix API与网络协议栈
  • 智能指针RAII
  • springboot3+vue3融合项目实战-大事件文章管理系统-文章分类也表查询(条件分页)
  • 年会招标抽奖活动软件———仙盟创梦IDE
  • 【后端】【UV】【Django】 `uv` 管理的项目中搭建一个 Django 项目
  • Mysql索引实战1
  • 【人工智能发展史】从黎明到曙光01
  • 回溯法求解N皇后问题
  • 力扣-有效三角形的个数
  • 超低延迟音视频直播技术的未来发展与创新
  • (2025小白全踩坑版)【OpenHarmony】移植 3.1 版本系统到 STM32F407ZG开发板
  • 提问的艺术
  • 华为云Flexus+DeepSeek征文|Flexus云服务器Dify-LLM资源部署极致体验Agent
  • Linux云计算训练营笔记day13[CentOS 7 find、vim、vimdiff、ping、wget、curl、RPM、YUM]]
  • labview硬件部分——压力测量
  • labview——控制继电器模块
  • Tiny C 编译器中,如何实现宏展开和头文件包含的预处理逻辑?