node18 vue2启动报错 error:0308010C:digital envelope routines::unsupported

出现原因

貌似是因为是因为 node 17版本开始发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。

解决方法

第一种方法降低node版本

降低到17以下即可 ,如项目不能降低版本 看后面的解决方式

第二种方法 设置NODE_OPTIONS环境变量

打开终端 这种只是临时设置变量 想永久设置

mac / linux设置方法

shell 复制代码
 export NODE_OPTIONS=--openssl-legacy-provider

打开cmd ,window设置方法

shell 复制代码
set NODE_OPTIONS=--openssl-legacy-provider

执行完以上命令后 再重新npm run dev 问题已解决。

第三种方法 package.json增加配置

在scripts 中dev加配置命令 set NODE_OPTIONS=--openssl-legacy-provider &&

shell 复制代码
"scripts": {
    "local": "set NODE_OPTIONS=--openssl-legacy-provider &&  vue-cli-service serve --mode local",
    "dev": "set NODE_OPTIONS=--openssl-legacy-provider &&  vue-cli-service serve --mode dev"
  },

以上三中方式随便选其中一种解决即可

相关推荐
滴滴答答哒9 小时前
Vue3 动态路由组件加载:后台字符串到前端懒加载组件的完美转换
vue
阿飞不想努力17 小时前
文件上传原理与实操
java·spring boot·vue·文件上传
曲幽1 天前
FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了!
python·vue·upload·fastapi·web·blob·chunk·spark-md5
hashiqimiya2 天前
写了一个package.json用于提供保存文件即重新运行spring
node
蓝黑20202 天前
Vue组件通信之v-model
前端·javascript·vue
不会写DN3 天前
Vue3中的computed 与 watch 的区别
javascript·面试·vue
钛态3 天前
前端WebSocket实时通信:别再用轮询了!
前端·vue·react·web
蓝黑20203 天前
Vue组件通信之slot
前端·javascript·vue
蓝黑20203 天前
Vue的 value=“1“ 和 :value=“1“ 有什么区别
前端·javascript·vue
小彭努力中4 天前
204.Vue3 + OpenLayers:加载 GIF 文件(CSS 背景实现动画标记)
前端·css·vue·openlayers·geojson·webgis