nodejs報(bào)digital?envelope?routines::unsupported錯誤的最新解決方法
這兩天準(zhǔn)備在github上找一個vue3的后臺框架學(xué)習(xí)一下,后來找到一個vue-admin-better這個VUE3開發(fā)后臺框架,感覺不錯,準(zhǔn)備安裝了跑起來看一看效果
就運(yùn)行
npm run serve
結(jié)果就報(bào)一堆錯誤
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:417:16)
at handleParseError (D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:471:10)
at D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:503:5
at D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:358:12
at D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
at iterateNormalLoaders (D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
at D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:236:3
at runSyncOrAsync (D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
at iterateNormalLoaders (D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:232:2)
at Array.<anonymous> (D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
at Storage.finished (D:\home\project\demo\vue-admin-better\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
at D:\home\project\demo\vue-admin-better\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
10% building 2/5 modules 3 active ...dmin-better\node_modules\eslint-loader\index.js??ref--14-0!D:\home\project\demo\vue-admin-better\src\main.jsnode:internal/crypto/hash:71
this[kHandle] = new _Hash(algorithm, xofLen);
^Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:417:16)
at handleParseError (D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:471:10)
at D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:503:5
at D:\home\project\demo\vue-admin-better\node_modules\webpack\lib\NormalModule.js:358:12
at D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
at Array.<anonymous> (D:\home\project\demo\vue-admin-better\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
at Storage.finished (D:\home\project\demo\vue-admin-better\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
at D:\home\project\demo\vue-admin-better\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
at D:\home\project\demo\vue-admin-better\node_modules\graceful-fs\graceful-fs.js:123:16
at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Baidu 了一下發(fā)現(xiàn)是 Node JS 17 的 BUG,相關(guān) ISSUE 也給出了解決辦法,就是修改package.json,在相關(guān)構(gòu)建命令之前加入set NODE_OPTIONS=–openssl-legacy-provider
"scripts": { "serve": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service serve", "build": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service build", "build:report": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service build --report",
如果是 Linux 或者 WSL 環(huán)境,請加入
export NODE_OPTIONS=--openssl-legacy-provider
如果是windows ,我的電腦上右鍵–>屬性—>高級系統(tǒng)設(shè)置
保存后windows需要重啟一下電腦
然后就可以運(yùn)行npm打包命令不會報(bào)錯了
到此這篇關(guān)于解決nodejs報(bào)digital envelope routines::unsupported錯誤的方法的文章就介紹到這了,更多相關(guān)nodejs報(bào)digital envelope routines::unsupported錯誤內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Node.js 多進(jìn)程處理CPU密集任務(wù)的實(shí)現(xiàn)
這篇文章主要介紹了Node.js 多進(jìn)程處理CPU密集任務(wù)的實(shí)現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05Node.js 使用 gRPC從定義到實(shí)現(xiàn)過程詳解
gRPC是一個高性能、開源的遠(yuǎn)程過程調(diào)用(RPC)框架,由 Google 開發(fā),它支持多種編程語言,旨在簡化和優(yōu)化分布式系統(tǒng)中的服務(wù)通信,本文給大家介紹Node.js 使用 gRPC從定義到實(shí)現(xiàn)過程,感興趣的朋友跟隨小編一起看看吧2024-07-07詳細(xì)談?wù)凬odeJS進(jìn)程是如何退出的
這篇文章主要給大家介紹了關(guān)于NodeJS進(jìn)程是如何退出的相關(guān)資料,主要介紹了導(dǎo)致進(jìn)程退出的三個因素:主動退出;未捕獲的異常、未處理的 promise rejection;未處理的 Event Emitter error 事件 系統(tǒng)信號,需要的朋友可以參考下2021-07-07Windows 系統(tǒng)下安裝和部署Egret的開發(fā)環(huán)境
Egret基于TypeScript開發(fā)的,而TypeScript編譯工具tsc是基于Node.js 開發(fā)的。所以在安裝過程中,我們先需要對于基礎(chǔ)支持工具進(jìn)行安裝。2014-07-07詳解如何模擬實(shí)現(xiàn)node中的Events模塊(通俗易懂版)
這篇文章主要介紹了如何模擬實(shí)現(xiàn)node中的Events模塊(通俗易懂版),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04