我發現其他帖子在代碼方面有這個錯誤,有些帖子提供了一些理論上應該適用于包管理器的解決方法,但似乎都沒有用。
我以前讓 NPM 作業過,但我不確定最近發生了什么變化破壞了它。
我正在嘗試在此實體中安裝 better-sqlite3。
請求https://registry.npmjs.org/better-sqlite3失敗,原因:寫入 EPROTO 7C720000:error:0A000152:SSL routines:final_renegotiate:unsafe legacy renegotiation disabled:c:\ws\deps\openssl\openssl\ssl\狀態\extensions.c:908:
看到這個我最初的想法是禁用 strict-ssl,我知道這不是最好的選擇,但我知道這是一個。那并沒有解決問題。
我也嘗試過將我公司的根證書從 chrome 隨機匯出(因為我不知道該選擇哪個,其中有 3 個)到一個檔案夾中,然后添加 npm config set cafile path/to/file 但這不是'似乎不起作用
我也試過 NODE_OPTIONS=--tls-min-v1.0 和 NODE_OPTIONS=--use-openssl-ca
我知道我會得到很多不安全的不太好的選擇,我寧愿選擇安全的選項,但我經常不清楚所提供的指示,也許是因為我對這些缺乏一些了解其他人擁有的實用程式。
我可以通過我的瀏覽器到達任何地方,是否有手動下載資料并將其快取在某個地方以供 npm 使用?這在某些情況下也很有用,但我不知道該怎么做。
最新錯誤(以及成功的錯誤)。這是在我使用 openssl 命令找到實際被拉回的證書,然后將其添加到 npm 配置(全域和用戶)之后。
npm http fetch GET 200 https://registry.npmjs.org/rc 70373ms (cache stale)
npm verb type system
npm verb stack FetchError: request to https://registry.npmjs.org/minimist failed, reason: write EPROTO 08840000:error:0A000152:SSL routines:final_renegotiate:unsafe legacy renegotiation disabled:c:\ws\deps\openssl\openssl\ssl\statem\extensions.c:908:
npm verb stack
npm verb stack at ClientRequest.<anonymous> (C:\Program Files\nvm\v19.0.0\node_modules\npm\node_modules\minipass-fetch\lib\index.js:130:14)
npm verb stack at ClientRequest.emit (node:events:513:28)
npm verb stack at TLSSocket.socketErrorListener (node:_http_client:488:9)
npm verb stack at TLSSocket.emit (node:events:525:35)
npm verb stack at emitErrorNT (node:internal/streams/destroy:151:8)
npm verb stack at emitErrorCloseNT (node:internal/streams/destroy:116:3)
npm verb stack at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
npm verb cwd c:\BitBucket\test
npm verb Windows_NT 10.0.19044
npm verb node v19.0.0
npm verb npm v9.1.1
npm ERR! code EPROTO
npm ERR! syscall write
npm ERR! errno EPROTO
npm ERR! request to https://registry.npmjs.org/minimist failed, reason: write EPROTO 08840000:error:0A000152:SSL routines:final_renegotiate:unsafe legacy renegotiation disabled:c:\ws\deps\openssl\openssl\ssl\statem\extensions.c:908:
npm ERR!
在我花了整個晚上直到凌晨 1 點之后,我能夠通過清除 npm 的所有設定然后重新設定每個設定來讓 npm 本身作業,strict-ssl false 現在回來了,證書也設定好了,但由于并非所有東西都能正常作業,所以我無論如何都必須執行 strict-ssl false :/
我不得不重新添加我的代理設定,盡管我認為理論上不需要它,因為我可以在沒有設定的情況下獲取一些東西,但顯然不是所有東西。
現在,我遇到的唯一問題是 node-gyp。其他所有東西都可以使用當前配置、curl、npm 拉包,我什至添加了 yarn 并讓它作業,但是 node-gyp 總是因為這個愚蠢的錯誤而出錯
npm ERR! gyp ERR! stack FetchError: request to https://nodejs.org/download/release/v19.0.0/node-v19.0.0-headers.tar.gz failed, reason: unable to get local issuer certificate
真氣人。
uj5u.com熱心網友回復:
我公司內部有一個內部存盤庫/鏡像設定,所以不幸的是這里的答案不適用于其他人,但我所要做的就是保留我的 strict-ssl false 型別的設定并設定他們的存盤庫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/533708.html
上一篇:使用Node18但“npminstallprisma”會拋出Node版本錯誤
下一篇:如何利用彩票游戲?
