2 回答

TA貢獻1827條經驗 獲得超9個贊
無法在 中自動執行此操作。這實際上是設計使然:旨在讓 go 命令在任何構建中確定性地選擇一組版本。如果 go 命令始終選取依賴項的最新版本,則所選版本集將隨時間而更改,而無需任何用戶操作。如果其中一個依賴項始終選擇其依賴項的最新版本,則可能會破壞您的構建,并且很難覆蓋。go.mod
go.mod
go get example.com/mod
是保持最新狀態的最佳方式。這需要手動完成,但如果您有大量依賴項,則可以使用 CI 中的腳本或操作自動執行它。

TA貢獻1826條經驗 獲得超6個贊
只需運行 .go get <module>
go get
下載依賴項的最新版本,因為這就是它的作用,而不是因為在 中指定了 。latest
go.mod
有沒有辦法構建go.mod,以便始終使用最新版本的依賴項?
不,無論如何,您都不應該自己手動編輯指令的內容。此外,指令的語法定義為:go.mod
require
require
require module-path module-version
其中可以是實際的標記版本或偽版本,例如,當您需要特定提交時。module-version
從技術上講,您可以編寫指令,但是下次運行命令時,它將用實際的最新(偽)版本標記替換該單詞。它不會留下來,否則你不會有確定性的依賴關系。latest
require
go
latest
latest
相關:如何將 go.mod 中的 Go 模塊依賴關系指向存儲庫中的最新提交?
- 2 回答
- 0 關注
- 301 瀏覽
添加回答
舉報