1.Vue項目 npm install 安裝依賴突然報錯:
npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/zrender/download/zrender-4.3.0.tgz failed, reason: certificate has expired
npm ERR! A complete log of this run can be found in:
npm ERR! ? ? D:\Java\nodejs\node-v16.20.2-win-x64\node_cache\_logs\2024-05-09T08_34_46_118Z-debug-0.log
2.原因:https://registry.npm.taobao.org 倉庫源證書過期,下載依賴失敗,需要更換地址源
3.但是 npm config set registry https://xxx 更換過了其他任何地址源都依然有這個報錯(所以我懷疑更換的地址源沒有生效)
網上也有辦法說可以臨時禁用npm SSL驗證:
在極少數情況下,臨時禁用npm的SSL驗證(不推薦這種簡單粗暴方法,因為它會降低安全性,所以沒有用)僅作為臨時解決方案,直到能夠通過安全方式解決問題。
切記!!!安裝好后要打開SSL驗證。
// 關閉ssl驗證
npm config set strict-ssl false
// 打開ssl驗證
npm config set strict-ssl true
4.經過排查發現是項目的package-lock.json文件已經寫死了插件的屬性,所以導致npm更換了其他任何地址源都不生效依然報錯
5.最后的解決方法:把項目原來的package-lock.json刪掉,重新執行npm install,就會根據npm設置的倉庫源重新安裝依賴,重新生成package-lock.json文件。
我npm使用的倉庫源地址是: