環(huán)境
Node.js :v18.12.1
開發(fā)工具:VsCode
運(yùn)行項(xiàng)目報錯如下:
//報錯主要提示,第一行。
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at BulkUpdateDecorator.hashFactory (D:\editingPro\isc-web-dev-jiangsu\node_modules\webpack\lib\util\createHash.js:145:18)
at BulkUpdateDecorator.update (D:\editingPro\isc-web-dev-jiangsu\node_modules\webpack\lib\util\createHash.js:46:50) at OriginalSource.updateHash (D:\editingPro\isc-web-dev-jiangsu\node_modules\webpack\node_modules\webpack-sources\lib\OriginalSource.js:131:8)
at NormalModule._initBuildHash (D:\editingPro\isc-web-dev-jiangsu\node_modules\webpack\lib\NormalModule.js:888:17)
at handleParseResult (D:\editingPro\isc-web-dev-jiangsu\node_modules\webpack\lib\NormalModule.js:954:10)
at D:\editingPro\isc-web-dev-jiangsu\node_modules\webpack\lib\NormalModule.js:1048:4
at processResult (D:\editingPro\isc-web-dev-jiangsu\node_modules\webpack\lib\NormalModule.js:763:11)
at D:editingPro\isc-web-dev-jiangsu\node_modules\webpack\lib\NormalModule.js:827:5 {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
Node.js v18.12.1 //當(dāng)前版本號。
原因
Node.js 的版本太高,在 Node.js V17 版本中發(fā)布的 OpenSSl3.0 對允許算法和密鑰大小增加了嚴(yán)格的限制,可能會對生態(tài)系統(tǒng)造成影響。
node -v //cmd進(jìn)入命令行輸入命令,查看自己的版本號
解決方法:
永久解決問題:
第一:命令行輸入
$env:NODE_OPTIONS="--openssl-legacy-provider"
第二:主動降低 Node.js 的版本。
node.js 修改為不高于 16 的版本
這個方法不推薦,因?yàn)樵趯?shí)際開發(fā)中,要求每一個開發(fā)人員都因?yàn)橐粋€項(xiàng)目而降低版本不合理,有的開發(fā)人員有多個項(xiàng)目,會連鎖反應(yīng)。在這里不做細(xì)節(jié)介紹了。
用環(huán)境變量臨時解決:(命令行輸入一定要用管理員模式才可以喲)
第一:windows 環(huán)境 不要在開發(fā)工具的終端輸入!
在命令行輸入:? 輸入完成之后重新啟動項(xiàng)目即可文章來源:http://www.zghlxwxcb.cn/news/detail-518804.html
set NODE_OPTIONS=--openssl-legacy-provider
第二:?Linux 或者 WSL 環(huán)境 不要在開發(fā)工具的終端輸入!文章來源地址http://www.zghlxwxcb.cn/news/detail-518804.html
export NODE_OPTIONS=--openssl-legacy-provider
到了這里,關(guān)于運(yùn)行老版本的項(xiàng)目時 報錯 Error: error:0308010C:digital envelope routines::unsupported 的問題解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!