Node opensslErrorStack 错误解决方法记录

从Git仓库中下载了一个老项目,使用npm install 安装后没有问题,当我使用npm run dev 的时候遇到了 OpenSSL 相关错误,例如 opensslErrorStack: ['error:03000086:digital envelope routines::initialization error']

网上找了一下相关信息,然后顺利解决了,记录分享给大家

问题原因:

这种错误通常与 Node.js 版本和 OpenSSL 版本之间的兼容性问题有关。某些 Node.js 版本可能与特定版本的 OpenSSL 不兼容,导致加密或安全相关的功能出现问题。

解决方案:

首先,确认你 Node.js 和 OpenSSL 版本。可以通过以下命令查看版本:

复制代码
node -v
openssl version

如果发现 Node.js 版本与 OpenSSL 版本存在兼容性问题,可以尝试以下解决方案:

在你的项目的 package.json 文件中的 scripts 部分,添加一个新的脚本,比如 dev

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

或者在 Linux 或 macOS 系统中,使用以下命令:

json 复制代码
"scripts": {
  "dev": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", 
}

这里的 dev 是你实际的启动脚本名称。

保存 package.json 文件。

在终端或命令提示符中,导航到项目目录。

运行以下命令,以确保所有依赖项都已安装:

复制代码
npm install

运行以下命令来启动你的应用程序:

复制代码
npm start

通过添加 NODE_OPTIONS=--openssl-legacy-provider 到启动脚本中, 这其实是设置了一个环境变量,以使用旧版本的 OpenSSL 提供程序,可能可以解决特定的 OpenSSL 错误。

不过这只是一个临时解决方案, 可能随着Node.js 和 OpenSSL 的更新,问题可能会得到修复。

相关推荐
古韵3 小时前
alova 3.3.0 发布:开发体验提升的重大更新
node.js·nuxt.js·next.js
不想说话的麋鹿4 小时前
《NestJS 实战:RBAC 系统管理模块开发 (一)》
前端·node.js·全栈
Lstmxx6 小时前
Electron:使用数据流的形式加载本地视频
前端·electron·node.js
LeeAt7 小时前
npm:详细解释前端项目开发前奏!!
前端·node.js·html
chxii7 小时前
1.6 http模块nodejs 对比 go
http·node.js
月舞之剑8 小时前
由nodejs gzip压缩引起的性能实验测试
node.js
陈哥聊测试9 小时前
员工反感的不是周报,而是消耗人的形式化
程序员·node.js·产品
贩卖纯净水.9 小时前
Webpack常见的插件和模式
前端·webpack·node.js
bubiyoushang88818 小时前
解决 Git 访问 GitHub 时的 SSL 错误
git·github·ssl
你的人类朋友1 天前
✍️Node.js CMS框架概述:Directus与Strapi详解
javascript·后端·node.js