从 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 的更新,问题可能会失去修复。