本文介绍了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";的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!