婷婷综合国产,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私有倉庫的問題的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 盐亭县| 临潭县| 舟曲县| 门头沟区| 安图县| 婺源县| 平遥县| 湘西| 云安县| 大荔县| 昌乐县| 微山县| 江华| 德阳市| 泗阳县| 洛阳市| 湟中县| 治县。| 洛南县| 屏东市| 武夷山市| 周口市| 江北区| 广东省| 郑州市| 思茅市| 星子县| 微博| 溆浦县| 阿图什市| 上犹县| 景洪市| 达州市| 安义县| 涟水县| 绥中县| 盐山县| 大洼县| 武清区| 巴中市| 兴山县|