【VUE】Error: error:0308010C:digital envelope routines::unsupported踩坑记录

博客提到解决问题有降版本和设置环境变量两种方式。降版本较麻烦,设置环境变量在windows和linux系统操作不同。作者在windows系统使用webstorm时,需在terminal输入set NODE_OPTIONS=–openssl-legacy-provider,或在cmd到项目路径下执行该命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

陷入误区。。。
搜索了有两种方式
1、降版本
这个有点麻烦,但也是一种解决方式。
2、设置环境变量
windows:

set NODE_OPTIONS=--openssl-legacy-provider

linux

export NODE_OPTIONS=--openssl-legacy-provider

很简单吧?就一句话,但我试了多次没成功。我是windows,刚开始一直打开cmd在里面输入set NODE_OPTIONS=–openssl-legacy-provider,但是后面采发现如果你使用了webstorm的话,在terminal里面输入就可以了。要不应该就是cmd到你的项目路径下执行set NODE_OPTIONS=–openssl-legacy-provider。(在哪run就在哪输入,在run之前先设置这个NODE_OPTIONS,然后应该就可以了。)
在这里插入图片描述

### 解决 Vue 项目中的 OpenSSL 错误 当遇到 `error:0308010C:digital envelope routines::unsupported` 的错误时,这通常是因为 Node.js 版本更新导致的兼容性问题。为了修复这个问题,在不同操作系统上可以采取不同的解决方案。 对于 Windows 用户来说,在命令提示符下可以通过设置环境变量来解决问题: ```bash set NODE_OPTIONS=--openssl-legacy-provider ``` 如果使用的是 PowerShell,则应采用如下方式设置环境变量[^2]: ```powershell $env:NODE_OPTIONS="--openssl-legacy-provider" ``` 另外一种持久化的方法是在项目的 `package.json` 文件内的脚本部分加入上述配置项,这样每次执行 npm 脚本的时候都会自动应用该选项[^3]: ```json { "scripts": { "dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build" } } ``` 针对 Linux 和 macOS 用户或者在 Windows 上通过 Git Bash 进行开发的情况下,应该利用导出命令来设定环境变量[^4]: ```bash export NODE_OPTIONS=--openssl-legacy-provider ``` 以上方法能够有效处理由于 OpenSSL 库版本差异引发的问题,并确保应用程序正常运行。 #### 注意事项 - 如果正在使用的 IDE 或者编辑器内置终端无法识别这些更改,请尝试重启工具使新的环境变量生效。 - 对于 CI/CD 流程或者其他自动化构建环境中也应当相应调整以包含此参数。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值