[完美解决]Vue项目运行时出现this[kHandle] = new _Hash(algorithm, xofLen)

一、问题内容

在github寻找一些vue项目clone到本地时候,npm i没有问题,但是npm run serve 或者npm run dev的时候会出现报错:

this[kHandle] = new _Hash(algorithm, xofLen)

在csdn上找了一些解决办法,有的有效有的无效,这里汇总一下,以免走弯路。

二、问题出现的原因

出现这个问题是node.js 的版本问题,因为 node.js V17开始版本中发布的是OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。故此以前的项目在使用 nodejs V17以上版本后会报错。而github项目很多都是之前版本的npm,所以运行时候会出现这个问题。

三、解决方法

1、方法一(推荐)

打开package.json文件夹,在serve或者dev处前面加上

set NODE_OPTIONS=--openssl-legacy-provider

一定要在前面,也就是要写成:

set NODE_OPTIONS=--openssl-legacy-provider  && vue-cli-service serve

而不是在后面加。再次运行即可解决。

2、方法二(可以解决,但不太推荐)

第二个方法则是改node的版本,从根处解决,不过可能你现在写的代码在之前的node版本不兼容了。大多数运行其他的代码就是为了实现对应的效果,能跑通运行即可,然后把那个代码实现的功能加到自己的项目上即可,所以不太推荐降低node的版本,但这里还是记录一下,既然是node.js V17开始版本中发布的是OpenSSL3.0,那么使用v16版本的就ok了。
在下面网站下载对应的node。
https://nodejs.org/download/release/v16.19.0/
下载下面这个即可。不过得卸载之前的node版本,其实还是稍微有些复杂的。
在这里插入图片描述
卸载参考这篇博文https://blog.csdn.net/m0_51945510/article/details/127710792

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

血狼傲骨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值