問題描述:
npm error code CERT_HAS_EXPIRED
npm error errno CERT_HAS_EXPIRED
npm error request to https://registry.npm.taobao.org/axios failed, reason: certificate has expired
這表明當前配置的 npm 鏡像源(淘寶鏡像?https://registry.npm.taobao.org)的 SSL 證書已過期,導致連接被拒絕。?
解決方法
1. 檢查系統時間是否正確
- 原因:SSL 證書驗證依賴系統時間,若電腦時間設置錯誤(如時間落后于實際日期),會導致證書驗證失敗。
- 操作:確保系統時間和時區設置正確,可開啟自動同步時間功能。
2. 臨時切換回 npm 官方源
- 操作:運行以下命令切換到 npm 官方源,然后重試安裝。
npm config set registry https://registry.npmjs.org/
npm install axios
- 結果判斷:若安裝成功,說明問題出在淘寶鏡像的證書上,可等待淘寶鏡像修復或暫時使用官方源。
3. 嘗試使用 HTTP 協議(臨時方案)
- 原因:若必須使用淘寶鏡像,可嘗試此方法。
- 操作:將 https 改為 http(注意:HTTP 不夠安全,僅限臨時使用)。
npm config set registry http://registry.npm.taobao.org/
npm install axios
4. 更新或更換鏡像源
- 操作:淘寶鏡像已逐步遷移到新域名?npmmirror.com,建議更新鏡像源地址。
npm config set registry https://registry.npmmirror.com/
npm install axios
5. 清除 npm 緩存
- 原因:有時緩存可能導致問題。
- 操作:嘗試清除緩存后重試。
npm cache clean --force
npm install axios