欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2021年05月04日 14:00:17   作者:smokelee  
這篇文章主要介紹了完美解決golang go get私有倉庫的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

解決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. 現(xiàn)象分析

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

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

編譯過程會導致CHECKSUM失敗

3. 物料

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

方案

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

2、export GOPRIVATE=git.xxxxxxx.com

go build的時候系統(tǒng)就不會用GOPROXY以及不再校驗SUM

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

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

結(jié)論

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

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

問題

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

在這里插入圖片描述

原因及解決辦法 原因

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

辦法

go get時添加“-insecure”參數(shù),如圖:

在這里插入圖片描述

補充:golang 配置私有倉庫

配置使用ssh 訪問的倉庫

1. go mod 根據(jù)go.mod拉取依賴庫時

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

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

2. 配置環(huán)境變量

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

go env -w GOPRIVATE=gitee.com

這里配置私有倉庫是gitee

3. 設(shè)置代理

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轉(zhuǎn)換為 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 設(shè)置錯誤,使得go去驗證庫的sum

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

相關(guān)文章

  • go語言使用scp的方法實例分析

    go語言使用scp的方法實例分析

    這篇文章主要介紹了go語言使用scp的方法,實例分析了go語言調(diào)用scp命令的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • Go語言select語句用法示例

    Go語言select語句用法示例

    這篇文章主要為大家介紹了Go語言select語句用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Go 代碼規(guī)范錯誤處理示例經(jīng)驗總結(jié)

    Go 代碼規(guī)范錯誤處理示例經(jīng)驗總結(jié)

    這篇文章主要為大家介紹了Go 代碼規(guī)范錯誤處理示例實戰(zhàn)經(jīng)驗總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Go微服務項目配置文件的定義和讀取示例詳解

    Go微服務項目配置文件的定義和讀取示例詳解

    這篇文章主要為大家介紹了Go微服務項目配置文件的定義和讀取示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Go語言實現(xiàn)ssh&scp的方法詳解

    Go語言實現(xiàn)ssh&scp的方法詳解

    這篇文章主要為大家詳細介紹了如何利用Go語言實現(xiàn)ssh&scp,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴可以了解一下
    2022-10-10
  • 如何使用Goland IDE go mod 方式構(gòu)建項目

    如何使用Goland IDE go mod 方式構(gòu)建項目

    這篇文章主要介紹了如何使用Goland IDE go mod 方式構(gòu)建項目,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 基于Golang開發(fā)一個輕量級登錄庫/框架

    基于Golang開發(fā)一個輕量級登錄庫/框架

    幾乎每個項目都會有登錄,退出等用戶功能,而登錄又不單僅僅是登錄,我們要考慮很多東西。所以本文就來用Golang開發(fā)一個輕量級登錄庫/框架吧
    2023-05-05
  • go protobuf?詳解

    go protobuf?詳解

    Protobuf是Protocol Buffers的簡稱,它是Google公司開發(fā)的一種數(shù)據(jù)描述語言,是一種輕便高效的結(jié)構(gòu)化數(shù)據(jù)存儲格式,可以用于結(jié)構(gòu)化數(shù)據(jù)串行化,或者說序列化,這篇文章主要介紹了protobuf?詳解,需要的朋友可以參考下
    2024-01-01
  • Golang讀寫Excel的方法教程

    Golang讀寫Excel的方法教程

    這篇文章主要給大家介紹了關(guān)于Golang讀寫Excel的方法教程,golang操作excel利用的是Excelize,Excelize是Golang編寫的一個用來操作 Office Excel 文檔類庫,基于微軟的Office OpenXML標準,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • Golang Map簡介以及底層原理

    Golang Map簡介以及底層原理

    這篇文章主要介紹了Golang Map簡介以及底層原理的相關(guān)資料,Go語言提供的map是一種鍵值對存儲結(jié)構(gòu),支持基本操作如len、delete等,map是非線程安全的,可用sync.Mutex確保并發(fā)安全,為高效查找和插入,需要的朋友可以參考下
    2024-10-10

最新評論