3 回答

TA貢獻1780條經驗 獲得超1個贊
我檢查了我的.gitconfig并找到了這個(對于github私人倉庫)-
[url "ssh://[email protected]/"] insteadOf = https://github.com/
上面的配置對我有用。您也可以嘗試在項目根目錄中創建一個.netrc文件,但不應將其推送到遠程代碼倉庫。

TA貢獻1831條經驗 獲得超4個贊
問題
您觀察到的行為在文檔的“遠程導入路徑”部分中有詳細說明go get
。特別是,僅通過查看遠程導入路徑code.internal.local/reponame
,go get
無法知道哪個 VCS 以及哪個 URL 用于實際托管該包。
為了解決這個問題,go get
使用一組 HTTPS(和 HTTP,作為后備,必須顯式啟用)GET 請求到一組由指定導入路徑構造的特殊 URL。假定為此類調用提供服務的任何東西都能夠以標識要使用的 VCS 和存儲庫的 URL 的回復進行響應。
可能的解決方案
如果您正在使用模塊,您可以在團隊方便的地方設置一個專用的“模塊代理”(此外,可能部署了許多代理),并讓團隊成員使用GOPROXY
指向方便實例的環境變量。有關go help modules
更多信息,請參閱。
否則,如果您可以放置一個網絡服務器來回答遠程導入路徑解析請求,您可以這樣做;nginx 和 apache 可以用于它們的庫存模塊。
否則,您可能需要求助于手動操作。

TA貢獻1877條經驗 獲得超6個贊
我在這里發布了詳細答案https://stackoverflow.com/a/65925691/348719
基本上,您應該在客戶端和服務器上添加.git
后綴。沒有后綴,將使用 https。require
module
.git
go get
在客戶端(go.mod)(將版本號更改為更正):
require code.internal.local/reponame.git v0.1.0
最好添加go env -w GOPRIVATE=code.internal.local
在服務器 (go.mod)
module code.internal.local/reponame.git
- 3 回答
- 0 關注
- 177 瀏覽
添加回答
舉報