用go mod的時(shí)候應(yīng)該會(huì)遇到無(wú)法拉取私有倉(cāng)庫(kù)的問(wèn)題

從你gitlab平臺(tái)生成一個(gè)token,在~/.gitcoinfig中
[http]下增加extraheader = PRIVATE-TOKEN: 你的token
[url]下增加 insteadOf = https://gitlab.你的gitlab服務(wù)器.com
如果還不生效則增加環(huán)境變量后嘗試:
export GOPRIVATE=gitlab.你的gitlab服務(wù)器.cn
補(bǔ)充:go module 引用碼云(或其他私有倉(cāng)庫(kù))的配置
go1.13開(kāi)始引入了go mod包管理。go1.16開(kāi)始默認(rèn)開(kāi)啟go mod,以下總結(jié)在使用go mod 時(shí),引用私有倉(cāng)庫(kù)或本地倉(cāng)庫(kù)出現(xiàn)的問(wèn)題。此處以windows環(huán)境為例,Linux操作類似。
私有倉(cāng)庫(kù)(如碼云/gitlab)
首先要保證配置過(guò)ssh私鑰,即通過(guò)git可以直接拉取到私有倉(cāng)庫(kù)。
系統(tǒng)環(huán)境變量中加入GOPRIVATE變量,值為要過(guò)濾的私有地址,如*gitee.com。此處配置作用是通過(guò)代理拉取module時(shí)過(guò)濾掉碼云的地址,不通代理拉取私有倉(cāng)庫(kù)地址。

此時(shí)項(xiàng)目中已經(jīng)可以正常拉取私有倉(cāng)庫(kù)
PS D:\go\src\test\TESTS\test43> go mod init
go: creating new go.mod: module test/TESTS/test43
go: to add module requirements and sums:
go mod tidy
PS D:\go\src\test\TESTS\test43> go mod tidy
go: finding module for package gitee.com/xxxxx/xxxxx
go: found gitee.com/xxxxx/xxxxx in gitee.com/xxxxx/xxxxx v0.0.0-20200805075307-22c2dee8df32
go.mod文件:
module test/TESTS/test43
go 1.16
require gitee.com/xxxxx/xxxxx v0.0.0-20200805075307-22c2dee8df32
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- Golang 編譯成DLL文件的操作
- golang調(diào)用c實(shí)現(xiàn)的dll接口細(xì)節(jié)分享
- Golang如何調(diào)用windows下的dll動(dòng)態(tài)庫(kù)中的函數(shù)
- go mod 使用私有g(shù)itlab群組的解決方案
- django將圖片保存到mysql數(shù)據(jù)庫(kù)并展示在前端頁(yè)面的實(shí)現(xiàn)
- golang實(shí)踐-第三方包為私有庫(kù)的配置方案
- go語(yǔ)言中fallthrough的用法說(shuō)明