opensslErrorStack: [ '错误:03000086:数字信封例程::初始化错误' ]

Joh*_*oll 49 node.js vue.js

  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}


Run Code Online (Sandbox Code Playgroud)

当我切换到节点 v18 时出现此错误

Kad*_*one 91

现在有两个选择 -

  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
Run Code Online (Sandbox Code Playgroud)

Windows 命令提示符 -

set NODE_OPTIONS=--openssl-legacy-provider
Run Code Online (Sandbox Code Playgroud)

Windows PowerShell-

$env:NODE_OPTIONS = "--openssl-legacy-provider"
Run Code Online (Sandbox Code Playgroud)

  • 我需要运行“nvm use 16”。 (4认同)
  • 不好的建议是降级开发环境中这样一个不可或缺的部分。它可能会破坏你所做的其他一切。 (3认同)

小智 46

编辑 package.json 文件并进行以下更改:

"scripts": {
    "start": "react-scripts --openssl-legacy-provider start",
    "build": "react-scripts --openssl-legacy-provider build"
 
  }
Run Code Online (Sandbox Code Playgroud)

  • 我在尝试运行 React 应用程序时发现了同样的问题,在我的启动脚本中添加了 --openssl-legacy-provider 选项,而不是降级 Nodejs 版本 (2认同)

Max*_*lph 30

在终端的当前应用程序目录中执行以下步骤:

npm install -g npm-check-updates
Run Code Online (Sandbox Code Playgroud)

全局安装 npm-check-updates 包,以准确执行其名称所示的操作。

ncu
Run Code Online (Sandbox Code Playgroud)

这将并排显示依赖项及其新版本(建议您升级到)(箭头指向),如当前目录中的 package.json 文件中列出的。

ncu -u
Run Code Online (Sandbox Code Playgroud)

这会更新您的 package.json 文件中列出的新版本,并为您的应用程序下一步做好准备(正确的更新)。

npm update
Run Code Online (Sandbox Code Playgroud)

或者

npm install
Run Code Online (Sandbox Code Playgroud)

这两个中的任何一个最终都会安装新的更新;解决问题。


注意:我用过

npm install
Run Code Online (Sandbox Code Playgroud)

我使用从 github 克隆的旧的 React.js 应用程序遇到了这个问题,但不想降级到旧的节点版本,因为我刚刚从节点 v14 升级到 v18.13.0。再次强调,降级并不是一个安全明智的选择。更新的原因有很多;大多数时候,“安全原因”,尤其是在 JavaScript 世界中。

  • 非常感谢!这是我面临的问题的恰当答案!:) 我也不想降级我的nodejs 版本。 (3认同)
  • 干杯@mr-possible,很高兴能提供帮助! (2认同)