关于npm:Node-opensslErrorStack-错误解决方法记录

9次阅读

共计 884 个字符,预计需要花费 3 分钟才能阅读完成。

从 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

"scripts": {"dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",}

或者在 Linux 或 macOS 零碎中,应用以下命令:

"scripts": {"dev": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",}

这里的 dev 是你理论的启动脚本名称。

保留 package.json 文件。

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

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

npm install

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

npm start

通过增加 NODE_OPTIONS=–openssl-legacy-provider 到启动脚本中,你为 Node.js 设置了一个环境变量,以应用旧版本的 OpenSSL 提供程序。这在某些状况下能够解决特定的 OpenSSL 谬误。

不过这只是一个长期解决方案,可能随着 Node.js 和 OpenSSL 的更新,问题可能会失去修复。

正文完
 0