Golang 中的依賴管理:處理刪除的GitHub 儲存庫
在Golang 中,與Node 的NPM 註冊表不同,人們擔心GitHub 擁有者可能會刪除儲存庫並使依賴專案變得不可用。這引發了關於依賴項安全性的問題。
Golang 的方法
與 NodeJS 相比,Golang 遵循不同的方法。它允許存儲庫所有者從 GitHub 中刪除他們的包,但它有適當的機制來防止依賴關係被破壞。
模組代理
大多數 Golang 專案使用模組代理預設情況下。這個代理由 Golang 本身提供,在本地快取下載的模組。當儲存庫從 GitHub 中刪除時,代理程式仍然可以使用快取的模組為依賴專案提供服務。
導入路徑和 Vanity 導入
每個 Golang 套件都有一個導入路徑,代表其位置。套件擁有者可以變更其套件的導入路徑,從而導致依賴項變更。然而,他們通常使用虛榮導入路徑,即使託管網站發生變化,這些路徑也保持不變。這可確保依賴項目繼續正常運作。
需要執行操作
大多數情況下,從 GitHub 刪除依賴套件的儲存庫時無需執行任何操作。如果您沒有使用模組代理程式或套件已變更託管網站並使用非常量匯入路徑,則可能需要調整程式碼中的匯入路徑。
結論
雖然 GitHub 儲存庫刪除可能會引起 NodeJS 中的問題,但 Golang 涉及模組代理和虛榮導入路徑的方法緩解了這個問題。依賴項目不太可能受到此類刪除的影響,從而確保依賴項的安全性和可靠性。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3