首頁 >後端開發 >Golang >為什麼我的 Go 模組導入的是過時的套件版本?

為什麼我的 Go 模組導入的是過時的套件版本?

DDD
DDD原創
2024-10-29 03:46:02448瀏覽

Why Is My Go Module Importing an Outdated Package Version?

當模組系統匯入舊套件版本

透過Go 模組合併新的依賴項時,您可能會遇到過時版本的套件的情況被檢索到。使用 github.com/docker/docker/client 套件時可以觀察到這一點。儘管該套件在專案外部無縫運行,但在執行 go modvendor 時,模組系統會取得版本 v1.13.1,該版本缺少對程式碼至關重要的某些方法。但是,go 模組將此版本標識為「最新」版本。

解決方案:強制執行特定版本輸入

確保 go mod 使用實際的最新版本包,您可以明確指定所需的版本。 Go Wiki 的模組指南提供了對此方法的見解:

特定版本選擇:

  • 使用指令go get [email protected] 取得特定版本
  • 輸入go get foo@master 以取得master 分支上的最新提交。
  • 使用 go get foo@e3702bed2 來定位精確提交。
  • 或者,直接修改 go.mod 檔。

Master 分支最新提交範例:

如果您在master 分支上尋找最新提交,請執行下列指令指令:

go get github.com/docker/docker/client@master
此操作指示go mod 檢索軟體包的最新版本,確保所有必要的方法在您的專案中可用。

以上是為什麼我的 Go 模組導入的是過時的套件版本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn