web项目启动解决报错---Error: error:0308010C:digital envelope routines::unsupported

一:背景

git新拉了个web工程,npm install 之后,npm run dev启动时报了这个错:

Error: error:0308010C:digital envelope routines::unsupported
    at Hash (node:internal/crypto/hash:79:19)
    at Object.createHash (node:crypto:139:10)
    at D:\work\wonders\git\workspace\java\shanxi\dev\pro-web\node_modules\compression-webpack-plugin\dist\index.js:243:42
    at CompressionPlugin.compress (D:\work\wonders\git\workspace\java\shanxi\dev\pro-web\node_modules\compression-webpack-plugin\dist\index.js:284:9)
    at D:\work\wonders\git\workspace\java\shanxi\dev\pro-web\node_modules\compression-webpack-plugin\dist\index.js:305:12
    at _next1 (eval at create (D:\work\wonders\git\workspace\java\shanxi\dev\pro-web\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:14:17)
    at eval (eval at create (D:\work\wonders\git\workspace\java\shanxi\dev\pro-web\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:33:1)
    at D:\work\wonders\git\workspace\java\shanxi\dev\pro-web\node_modules\copy-webpack-plugin\dist\index.js:91:9

二:分析

检索了相关博客,大致的意思是 node版本在 17+版本后增加了OpenSSL3.0,对允许算法和密钥大小增加了严格的限制

以下是我的node版本
在这里插入图片描述
版本安装的最新的໒𖦹ࡇ𖦹 ͛১໒𖦹ࡇ𖦹 ͛১ 避坑

三:问题解决

本文章介绍两种方式
**

第一:降低node版本,将node版本降到 16.x.x 版本

**
以MAC电脑为例:

1.安装n版本

sudo npm install n -g

注意:sudo需要加,不加的话会提示无权限

2.安装稳定版

sudo n stable

3.安装最新版本

sudo n latest

4.降低版本(也可以升级版本)

sudo n 16.17.0

5.检查当前版本

node -v

第二:修改项目中package.json文件

找到"scripts"
我这里如下图:
在这里插入图片描述

在你的启动项前面加上:set NODE_OPTIONS=--openssl-legacy-provider &&
最后启动:npm run dev
◍˃ᵕ˂◍完美解决!◍˃ᵕ˂◍

⬜️⬜️⬜️⬜️✌️✌️✌️⬜️⬜️⬜️
⬜️⬜️⬜️✌️⬜️⬜️⬜️⬜️⬜️⬜️
⬜️⬜️✌️⬜️⬜️⬜️⬜️⬜️⬜️⬜️
⬜️✌️✌️⬜️✌️✌️⬜️⬜️⬜️⬜️
⬜️✌️✌️✌️⬜️⬜️✌️✌️⬜️⬜️
⬜️✌️✌️⬜️⬜️⬜️⬜️✌️⬜️⬜️
⬜️✌️✌️⬜️⬜️⬜️⬜️✌️⬜️⬜️
⬜️✌️✌️✌️⬜️⬜️✌️✌️⬜️⬜️
⬜️⬜️✌️✌️✌️✌️✌️⬜️⬜️⬜️
⬜️⬜️⬜️✌️✌️✌️⬜️⬜️⬜️⬜️

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值