婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 完美解決golang go get私有倉庫的問題

完美解決golang go get私有倉庫的問題

熱門標簽:阿克蘇地圖標注 電話機器人軟件免費 外呼系統顯本地手機號 涿州代理外呼系統 百度地圖標注后傳給手機 excel地圖標注分布數據 外呼系統用什么卡 壽光微信地圖標注 評價高的400電話辦理

解決golang go get gitlab私有倉庫的問題(1.13)

1. 問題描述

require ( 
 git.xxxxxxx.com/middle/user v0.0.1
)

go mod tidy 導入包失敗

go get git.xxxxxxx.com/middle/user 失敗

go build 有CHECKSUM過程,無法編譯

2. 現象分析

go get 不支持代碼支持之外的倉庫。并且git 調用鏈過程采取了https

下載過程如果機器設置了GOPROXY,會導致下載失敗

編譯過程會導致CHECKSUM失敗

3. 物料

物料 說明
git.xxxxxxx.com 私有倉庫
middle/user.git 用戶服務模塊

方案

1、給釋出的倉庫打tag比如v0.0.1,這樣倉庫地址就可以被識別

2、export GOPRIVATE=git.xxxxxxx.com

go build的時候系統就不會用GOPROXY以及不再校驗SUM

3、調整git https===>ssh,注意username換成自己的用戶名

[url "username@git.xxxxxxx.com"]
    insteadOf = https://git.xxxxxxx.com

結論

這個問題,google 堪稱一絕,夠任性

補充:go get拉取私有項目,遇到 404 Not Found解決辦法

問題

利用go module進行包管理的時候,要獲取遠程倉庫的最新包,使用go get+項目名獲取,提示404 Not Found,如圖:

原因及解決辦法 原因

這是由于go get在進行獲取遠程包的時候,沒有指定用戶以及密碼,導致沒有權限,故失敗

辦法

go get時添加“-insecure”參數,如圖:

補充:golang 配置私有倉庫

配置使用ssh 訪問的倉庫

1. go mod 根據go.mod拉取依賴庫時

會使用https的方式。為了方便我們也可以通過配置git 全局配置來使用 ssh的方式拉取依賴,下面是配置 https轉換為ssh的方式:

git config --global url."git@gitee.com:".insteadOf https://gitee.com/

2. 配置環境變量

來指定私有倉庫,用于不走代理的方式

go env -w GOPRIVATE=gitee.com

這里配置私有倉庫是gitee

3. 設置代理

go env -w GOPROXY=goproyx.io

常見錯誤:

1. 錯誤一

abc@Genricde helloworld % go get -u gitee.com/abc/helloworld/v3 go: gitee.com/abc/helloworld/v3@v3.0.1-5 requires gitee.com/abc/tsab@v0.0.0-20210208082057-adbeb3ca5366: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /Users/abc/developer/golang/pkg/mod/cache/vcs/742008abb4987f237c93efc5ddde7db6dd8d1841fe94aea076046d86a92e26a7: exit status 128: fatal: could not read Username for 'https://gitee.com': terminal prompts disabled

這種錯誤為沒有配置 git 的https轉換為 ssh

2. 錯誤二

go: gitee.com/abc/helloworld@v0.0.0-20210121064045-46ac6dd9cdce requires gitee.com/abc/helloworld@v0.0.0-20210208023819-88ebb8c504ae/go.mod: verifying module: gitee.com/abc/helloworld@v0.0.0-20210208023819-88ebb8c504ae/go.mod: reading https://goproxy.io/sumdb/sum.golang.org/lookup/gitee.com/abc/tsab@v0.0.0-20210208023819-88ebb8c504ae: 410 Gone server response: not found: gitee.com/abc/helloworld@v0.0.0-20210208023819-88ebb8c504ae: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /tmp/gopath/pkg/mod/cache/vcs/742008abb4987f237c93efc5ddde7db6dd8d1841fe94aea076046d86a92e26a7: exit status 128: fatal: could not read Username for 'https://gitee.com': terminal prompts disabled

這種錯誤是GOPRIVATE 設置錯誤,使得go去驗證庫的sum

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Golang中switch語句和select語句的用法教程
  • Golang 編譯成DLL文件的操作
  • golang調用c實現的dll接口細節分享
  • Golang如何調用windows下的dll動態庫中的函數
  • golang實踐-第三方包為私有庫的配置方案
  • golang gopm get -g -v 無法獲取第三方庫的解決方案
  • Golang: 內建容器的用法
  • golang switch語句的靈活寫法介紹

標簽:梅河口 汕頭 吐魯番 蘭州 欽州 雞西 重慶 銅川

巨人網絡通訊聲明:本文標題《完美解決golang go get私有倉庫的問題》,本文關鍵詞  完美,解決,golang,get,私有,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《完美解決golang go get私有倉庫的問題》相關的同類信息!
  • 本頁收集關于完美解決golang go get私有倉庫的問題的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 城市| 花莲市| 芒康县| 德安县| 葫芦岛市| 平利县| 岱山县| 江口县| 交口县| 汶上县| 南昌县| 凤翔县| 讷河市| 闽侯县| 修水县| 革吉县| 安福县| 福鼎市| 海安县| 蓬安县| 炉霍县| 壶关县| 玉溪市| 云霄县| 丰都县| 广德县| 宜春市| 噶尔县| 虎林市| 静宁县| 游戏| 淮安市| 安远县| 永胜县| 扶风县| 洞口县| 嘉善县| 定襄县| 屏东市| 名山县| 光泽县|