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时,我得到了这个错误

John Driscoll 提问于2022-12-08
请看这个,它已经有了解决方案StackOverflow解决方案Kaddu Livingstone 2022-12-08
3 个回答
#1楼 已采纳
得票数 12

现在有两个选择---

  1. 尝试卸载Node.js 17+版本,并重新安装Node.js 16+版本

你可以从他们的官方站点重新安装当前的LTS Node.js版本。或者从这里更具体的下载。

你可以使用NVM(节点版本管理器)来进行管理。

  • Linux和Mac用户可以使用这个nvm包链接
  • Windows用户可以使用这个nvm包链接
  1. 打开一个终端,按照描述粘贴这些内容。

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"
Kaddu Livingstone 提问于2022-12-08
Kaddu Livingstone 修改于2022-12-09
是的,这解决了问题,但当我重新启动电脑时,我必须重新做一遍。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世界。

Max Ralph 提问于2023-01-24
Max Ralph 修改于2023-01-24
#3楼
得票数 2

编辑package.json文件,并作如下修改。

"scripts": {
    "start": "react-scripts --openssl-legacy-provider start",
    "build": "react-scripts --openssl-legacy-provider build"
 
  }
shirin niki 提问于2023-02-05
标签