(VUE_Npm)Error: error:0308010C:digital envelope routines::unsupported

1、背景

为契合适用技术规范要求的前端脚手架,升级本地Node.js版本至v18.16.1,随后运行曾经正常运行的前端项目报错:Error: error:0308010C:digital envelope routines::unsupported

2、根因

在Node.js V17版本以后,采用的OpenSSL 3.01 库包,较之
OpenSSL 1.1.1 而言,对允许算法和密钥大小增加了严格的限制,因此会对此前的系统环境造成影响,需要重新编译

3、解决方案

1.打开终端,进行Node变量设置

Ⅰ、Linux & Mac OS (windows git bash)

export NODE_OPTIONS=--openssl-legacy-provider

Ⅱ、windows

set NODE_OPTIONS=--openssl-legacy-provider

2、修改本地环境的package.json文件,在相关构建命令之前加入

set NODE_OPTIONS=--openssl-legacy-provider & 

例如:

"scripts": {
    "build:test": "node script/build --env test",
    "build:pro": "node script/build --env pro",
    "build": "npm run build:pro",
    "start": "set NODE_OPTIONS=--openssl-legacy-provider & npm run start:proxy",

3、卸载Node.js 17+,并重新安装低版本Node.js,然后重新编译、启动


  1. OpenSSL_3.0_Wiki说明:OpenSSL_3.0_Wiki ↩︎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值