3 回答

TA貢獻1812條經驗 獲得超5個贊
服務器需要按照https://golang.org/cmd/go/#hdr-Remote_import_paths中描述的協議https://mod.org/bar
返回元數據。go-import
存在多種開源實現,例如:
rsc.io/go-import-redirector
github.com/GoogleCloudPlatform/govanityurls
您可以將 HTTPS 服務器和底層存儲庫的憑據(或訪問令牌)存儲在文件中.netrc
,并使用GOPRIVATE
環境變量告訴go
命令不要在公共代理中查找您的私有存儲庫。

TA貢獻1821條經驗 獲得超6個贊
你不能使用沒有.git擴展的私有倉庫,因為 go 工具不知道你的私有倉庫、git 或 svn 或任何其他的版本控制協議。
或者github.com它們golang.org被硬編碼到 go 的源代碼中。
go 工具將https在獲取您的私人存儲庫之前進行查詢以了解:
https://private/user/repo?go-get=1
如果你的私有倉庫不支持https,請使用replacego模塊的語法直接告訴go工具:
require private/user/repo v1.0.0
...
replace private/user/repo => private.server/user/repo.git v1.0.0
https://golang.org/cmd/go/#hdr-Remote_import_paths

TA貢獻1757條經驗 獲得超8個贊
解決問題的步驟:
1?? 將模塊聲明更改go.mod
為
module mod.org/gomod/bar go 1.16
bitbucket
與存儲庫結構相同
存儲庫對克隆的引用:
http://localhost:7990/scm/gomod/bar.git
ssh://[email protected]/gomod/bar.git
2?? 更改.gitconfig:添加insteadOf(ssh或https)
# [url "http://localhost:7990/scm"]
[url "ssh://[email protected]"]
insteadOf = https://mod.org
3?? 添加https://mod.org到私有存儲庫
go env -w GOPRIVATE="mod.org"
go mod download?完成所有準備工作后,可以通過以下方式從其他模塊訪問該模塊version tags
module mod.org/gomod/foo
go 1.16
require (
mod.org/gomod/bar v1.0.0-beta.1
)
replace (
mod.org/gomod/bar => mod.org/gomod/bar.git v1.0.0-beta.1
)
或手動
go get -u mod.org/gomod/bar.git
go get mod.org/gomod/[email protected]
- 3 回答
- 0 關注
- 242 瀏覽
添加回答
舉報