2 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
使用 go modules 是推薦的方法。您必須使用go mod vendor
命令將模塊復(fù)制到開(kāi)發(fā)環(huán)境中的供應(yīng)商目錄(顯然需要首先下載包)。go mod vendor
不會(huì)將軟件包下載到供應(yīng)商目錄中,它會(huì)從您在開(kāi)發(fā)環(huán)境中可能位于$GOPATH/pkg/mod
或類(lèi)似的東西中的先前下載的模塊中復(fù)制它們,并將其保存在您的供應(yīng)商文件夾中,以便在生產(chǎn)中您不需要下載它們。然后,您將使用go build -mod vendor
.
所以總結(jié)一下:
在您的代碼中導(dǎo)入您的包
獲取依賴進(jìn)入
$GOPATH/pkg/mod
或類(lèi)似路徑:(go get github.com/name/project@v1.0
此步驟實(shí)際上是可選的)將包從復(fù)制
$GOPATH/pkg/mod
到vendor
:go mod vendor
編譯代碼:
go build -mod vendor

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
只是為了擴(kuò)展您對(duì)問(wèn)題的評(píng)論,是的,使用 go 模塊,但這仍然不能解決您的請(qǐng)求,您將需要使用模塊和 go modules 提供的供應(yīng)商選項(xiàng)。然后您的所有依賴項(xiàng)將存儲(chǔ)在您的存儲(chǔ)庫(kù)內(nèi)的供應(yīng)商文件夾中,您簽入該文件夾,然后用戶只需簽出您的存儲(chǔ)庫(kù)并擁有所有依賴項(xiàng)。
還要查看 go env 變量GOFLAGS=-mod=vendor
,您需要為 go 工具設(shè)置它來(lái)查看您的供應(yīng)商與檢查網(wǎng)絡(luò)(我在我們的構(gòu)建管道上設(shè)置了它)
有關(guān)該 env 變量的詳細(xì)說(shuō)明,請(qǐng)參閱https://github.com/golang/go/issues/27227
- 2 回答
- 0 關(guān)注
- 127 瀏覽
添加回答
舉報(bào)