opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ]
回答 3
浏览 1.4万
2022-12-08
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
当我切换到node v18时,我得到了这个错误
3 个回答
#1楼
已采纳
得票数 12
现在有两个选择---
- 尝试卸载Node.js 17+版本,并重新安装Node.js 16+版本
你可以从他们的官方站点重新安装当前的LTS Node.js版本。或者从这里更具体的下载。
你可以使用NVM(节点版本管理器)来进行管理。
- 打开一个终端,按照描述粘贴这些内容。
Linux和macOS (Windows的Git Bash)-
export NODE_OPTIONS=--openssl-legacy-provider
Windows命令提示符---
set NODE_OPTIONS=--openssl-legacy-provider
Windows PowerShell-
$env:NODE_OPTIONS = "--openssl-legacy-provider"
是的,这解决了问题,但当我重新启动电脑时,我必须重新做一遍。
- John Driscoll 2023-01-01
nvm use 16
是我需要运行的东西。
- Ryan 2023-02-24
#2楼
得票数 3
在你的终端上,在当前的应用程序目录下按照这些步骤进行操作。
npm install -g npm-check-updates
在全局范围内安装npm-check-updates软件包,以完成其名称所描述的工作。
ncu
这将并排显示当前目录下package.json文件中列出的依赖关系和(一个箭头指向)其新版本(建议你升级到)。
ncu -u
这将在你的package.json文件上更新这些新列出的版本,并为你的应用程序的下一步(适当的更新)做准备。
npm update
或
npm install
这2个中的任何一个最终都安装了新的更新;解决了问题。
注:我使用的是
npm install
我在一个从github克隆的老react.js应用中遇到了这个问题,但我不想降级到旧的node版本,因为我刚刚从node v14升级到v18.13.0。同样,降级并不是一个安全的明智选择。更新是有许多原因的;大多数时候,"安全原因",特别是在JavaScript世界。
#3楼
得票数 2
编辑package.json文件,并作如下修改。
"scripts": {
"start": "react-scripts --openssl-legacy-provider start",
"build": "react-scripts --openssl-legacy-provider build"
}