第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

我應(yīng)該使用 go mod 提交供應(yīng)商目錄嗎?

我應(yīng)該使用 go mod 提交供應(yīng)商目錄嗎?

Go
qq_遁去的一_1 2023-08-21 14:59:27
我在 go1.12 上使用 go 模塊來(lái)處理我的 Go 依賴項(xiàng)。將目錄也提交到版本控制中是否是最佳實(shí)踐vendor/?這與提交 `vendor` 目錄是否是最佳實(shí)踐有關(guān)?在使用的情況下會(huì)問(wèn)這個(gè)問(wèn)題dep。使用dep,提交vendor/是獲得真正可重復(fù)構(gòu)建的唯一方法。那么 go 模塊呢?
查看完整描述

2 回答

?
胡說(shuō)叔叔

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊

我想給出一些支持提交vendor、go.mod和的論據(jù)go.sum

我同意已接受答案的論點(diǎn),即它在技術(shù)上是不必要的并且會(huì)使回購(gòu)協(xié)議膨脹。

但這里有一個(gè)相反的論點(diǎn)列表:

  • 構(gòu)建項(xiàng)目并不依賴于 Github/Gitlab/... 或 Go 代理服務(wù)器上可用的某些代碼。開源項(xiàng)目可能會(huì)因?yàn)閷彶?、作者激?lì)、許可變更或其他一些我目前無(wú)法想到的原因而消失,這種情況確實(shí)發(fā)生在 JavaScript 包管理器 npm 上,并破壞了許多項(xiàng)目。不在您的存儲(chǔ)庫(kù)中,不在您的代碼中。

  • 我們可能使用了內(nèi)部或第 3 方 Go 模塊(私有),這些模塊也可能會(huì)消失或變得無(wú)法訪問(wèn),但如果它們?cè)诠?yīng)商中提交,那么它們就是我們項(xiàng)目的一部分。沒有任何事情會(huì)意外發(fā)生。

  • 私有 Go 模塊可能不遵循語(yǔ)義版本控制,這意味著 Go 工具在動(dòng)態(tài)獲取它們時(shí)將依賴最新的提交哈希。回購(gòu)歷史記錄可能會(huì)被重寫(例如變基),并且您、同事或您的 CI 工作可能最終會(huì)為他們使用的依賴項(xiàng)得到不同的代碼。

  • 承諾供應(yīng)商可以改進(jìn)您的代碼審查流程。通常,我們總是在單獨(dú)的提交中提交依賴項(xiàng)更改,因此如果您好奇的話可以輕松查看它們。

這是一個(gè)與存儲(chǔ)庫(kù)膨脹相關(guān)的有趣觀察。如果我進(jìn)行代碼審查,并且團(tuán)隊(duì)成員包含了一個(gè)包含 300 個(gè)文件的新依賴項(xiàng)(或更新了一個(gè)包含 300 個(gè)文件更改的依賴項(xiàng)),我會(huì)非常好奇地深入研究該依賴項(xiàng)并開始討論代碼質(zhì)量以及此更改的必要性或替代的 Go 模塊。這實(shí)際上可能會(huì)減少二進(jìn)制文件的大小和整體復(fù)雜性。

如果我只在新的合并請(qǐng)求中看到一個(gè)新行go.mod,我很可能不會(huì)考慮它。

  • 執(zhí)行編譯和構(gòu)建步驟的 CI/CD 作業(yè)不需要在每次執(zhí)行 CI 作業(yè)時(shí)浪費(fèi)時(shí)間和網(wǎng)絡(luò)來(lái)下載依賴項(xiàng)。所有需要的依賴項(xiàng)都是本地的并且存在 (?go build -mod vendor)

這些都是我的想法,如果我還記得什么,我會(huì)在這里補(bǔ)充。


查看完整回答
反對(duì) 回復(fù) 2023-08-21
?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊

除非您需要修改供應(yīng)的軟件包,否則您不應(yīng)該這樣做。Go 模塊已經(jīng)為您提供了可重復(fù)的構(gòu)建,因?yàn)?code>go.mod文件記錄了依賴項(xiàng)的確切版本和提交哈希值,該go工具將尊重并遵循這些哈希值。

可以通過(guò)運(yùn)行該命令vendor來(lái)重新創(chuàng)建該目錄go mod vendor,并且默認(rèn)情況下它甚至?xí)缓雎裕?code>go build除非您要求它與標(biāo)志一起使用-mod=vendor。

查看完整回答
反對(duì) 回復(fù) 2023-08-21
  • 2 回答
  • 0 關(guān)注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)