本文介绍了Node.js 17.0.1 Gatsby错误-数字信封例程::不支持...ERR_OSSL_EVP_UNSUPPORTED"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在构建Gatsby站点。我将Node.js升级到v17.0.1,当我运行构建时,出现错误:

Error: digital envelope routines::unsupported

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

如果我将其降级到v16,它将工作得很好,构建将会成功。我如何修复此问题?

通过谷歌搜索,这可能是一个类似的问题:Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt #48

推荐答案

Gatsby必须使用OpenSSL3.0默认不再允许的algorithm or key size


发件人Node.js 17's announcement post

在终端上运行此命令可能如下所示:

node --openssl-legacy-provider ./node_modules/.bin/gatsby build

您也可以通过NODE_OPTIONS环境变量传入此参数。

因此,如果您希望继续使用NPM脚本,可以将build脚本更改为:

// package.json
{
  "scripts": {
    "build": "export NODE_OPTIONS=--openssl-legacy-provider; gatsby build"
  }
}

这篇关于Node.js 17.0.1 Gatsby错误-数字信封例程::不支持...ERR_OSSL_EVP_UNSUPPORTED"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-07 02:42