亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將 go.mod 中的 Go 模塊依賴項指向 repo 中的最新提交?

如何將 go.mod 中的 Go 模塊依賴項指向 repo 中的最新提交?

Go
ITMISS 2023-05-15 14:49:11
從 v1.11 Go 開始添加了對模塊的支持。命令go mod init <package name>go build將生成go.mod包含go.sum包依賴項的所有已找到版本的文件。如果模塊沒有任何版本,則使用該模塊的最新提交。如果模塊確實有版本,則最新的版本將被選為依賴項。然而,有時我需要的功能尚未在已發布的版本中,而是來自該版本之后的提交。如何設置go.mod為不指向模塊的發布,而是指向模塊存儲庫中的特定提交?看起來我可以用手go.mod來做module /my/module    require (    ...    github.com/someone/some_module v0.0.0-20181121201909-af044c0995fe    ...)哪里v0.0.0不對應于最后發布的發布標簽,20181121201909將是提交時間戳和af044c0995fe提交哈希?這些信息是應該手工查找和輸入,還是有更好的方法?
查看完整描述

5 回答

?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

只需“獲取”您想要的提交哈希:

go?get?github.com/someone/some_module@af044c0995fe

'go get' 將正確更新依賴文件(go.mod、go.sum)。


查看完整回答
反對 回復 2023-05-15
?
LEATH

TA貢獻1936條經驗 獲得超7個贊

go get github.com/someone/some_module@af044c0995fe,您還可以使用分支名稱,例如:

  • go get github.com/someone/some_module@master

  • go get github.com/someone/some_module@dev_branch

這些示例在相應的分支上獲得最新的提交。

它仍然會在您的文件中記錄為偽版本go.mod,例如v0.0.0-20171006230638-a6e239ea1c69.?(這有助于基于標準semver排序提供跨所有版本的簡單總排序)。


查看完整回答
反對 回復 2023-05-15
?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

如果你想臨時替換本地目錄的依賴項(例如,如果你同時處理 2 個模塊),你可以replace在文件末尾添加語句go.mod:


module example.com/mypkg


go 1.15


require (

  gitlab.com/someone/a_package v0.14.2

)


replace gitlab.com/someone/a_package => ../my_forks/a_package


查看完整回答
反對 回復 2023-05-15
?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

一段時間以來,我一直在思考它是如何為每個人工作的,但我無法運行它。對我來說,我必須提交到 master 分支,然后我才能得到它。


要使用特定的分支、提交 ID 或標簽,您需要通過運行以下命令為 go 模塊啟用標志


去環境-w GO111MODULE=on


在此之后我們將能夠做到


go get repo@branchname

go get repo@tag

go get repo@commithash


查看完整回答
反對 回復 2023-05-15
?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

此外,如果您在 go.mod 文件中使用 latest 一詞代替標簽,它將更改為模塊的最新標簽。


例如:


module /my/module


require (

...

github.com/someone/some_module latest

...

)

會變成


module /my/module


require (

...

github.com/someone/some_module v2.0.39

...

)

跑步后go mod tidy


查看完整回答
反對 回復 2023-05-15
  • 5 回答
  • 0 關注
  • 193 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號