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

go mod 安裝依賴 unkown revision問(wèn)題的解決方案

 更新時(shí)間:2021年05月06日 15:11:32   作者:whendream  
這篇文章主要介紹了go mod 安裝依賴 unkown revision問(wèn)題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

背景

公司一個(gè)golang的項(xiàng)目,使用到了公司的私有倉(cāng)庫(kù),去執(zhí)行g(shù)o mod tidy(下載依賴)的時(shí)候,到download公司私有庫(kù)的時(shí)候就報(bào)錯(cuò),報(bào)錯(cuò)信息也不明顯,只是提示找不到影響版本unkown revision

小知識(shí)

go mod

golang用來(lái)管理用來(lái)的,類(lèi)似java的maven(但肯定沒(méi)有maven這么好用)

go mod tidy ,下載更新依賴

go install這種下載依賴的方式其實(shí)是通過(guò)go get的方式去下載的

go insall -x 加上-x命令,可以查看更多的錯(cuò)誤信息

golang環(huán)境配置

linux

安裝go >= 1.12.x
vi /etc/profile
export GOROOT=/usr/local/go (go語(yǔ)言安裝路徑)
export GOPATH=/data/go (go業(yè)務(wù)代碼環(huán)境路徑)
export GO111MODULE=on (啟用Mod依賴)
export GOPORT=8082 (啟動(dòng)端口,默認(rèn)8080)
export GIN_MODE=debug (gin環(huán)境模式,線上用release)
export GOPRIVATE=gitlab.XXXX.com/XXX/* (公司私有私有庫(kù))
source /etc/profile

可惜我的環(huán)境是windows上的,索性也折騰了一下

使用的是windows的powershell
ls env:  顯示環(huán)境變量
$env:GOPRIVATE="gitlab.XXXX.com/XXX/*"   設(shè)置環(huán)境變量

當(dāng)然你可以直接通過(guò)圖形化界面去配置,原理一致

git 配置

git的默認(rèn)配置在當(dāng)前用戶目錄的.gitconfig文件中,不管是windows還是linux

git config -l 查看git的所有配置
git config --global user.name="jwen" 設(shè)置global配置

踩坑

golang版本問(wèn)題

電腦上本來(lái)使用的是go1.12,看代碼里面給出的說(shuō)是大于1.12就行了的,但知道golang的1.12和1.13版本有比較大區(qū)別,因?yàn)槲揖蛷?qiáng)行升級(jí)了一波,直接來(lái)到了golang1.14版本

在1.12版本的時(shí)候,要手動(dòng)打開(kāi)GO111MODULE ,就是導(dǎo)入這個(gè)環(huán)境變量GO111MODULE=on

而在1.13版本的話,就跟根據(jù)目錄是否有g(shù)o.mod文件自動(dòng)打開(kāi)的

所以建議升級(jí)就golang版本到1.13以上版本

**

git版本問(wèn)題

這個(gè)是萬(wàn)萬(wàn)沒(méi)想到的,說(shuō)是go mod調(diào)用鏈中會(huì)用到一些git指令,當(dāng)git版本比較舊時(shí),調(diào)用失敗產(chǎn)生錯(cuò)誤,并給出歧義的提示信息,提示unknown revision

解決方法:更新git

gitlab請(qǐng)求問(wèn)題

公司的gitlab倉(cāng)庫(kù)請(qǐng)求的是http請(qǐng)求,而不是https請(qǐng)求,這個(gè)需要根據(jù)公司實(shí)際情況來(lái)看

解決辦法

1、確認(rèn)golang,git版本,建議升級(jí)到最新版本;

2、新增golang的環(huán)境變量,新增GOPRIVATE,value配置為自己需求的私有倉(cāng)庫(kù),讓golang可以下載私有庫(kù)的東西

建議直接golang設(shè)置
golang設(shè)置
go env -w GOPRIVATE="gitlab.xxx.com/xxxx/*"
linux配置
export GOPRIVATE=gitlab.xxx.com/xxxx/*
windows配置
$env:GOPRIVATE="gitlab.XXXX.com/XXX/*" 

3、修改git配置,因?yàn)間o install/mod tidy 去下載依賴其實(shí)是通過(guò)git命令去下載的,而且默認(rèn)是http協(xié)議去下載的,建議是修改為ssh協(xié)議去獲取

方法一:通過(guò)修改文件方式,去到當(dāng)前用戶目錄修改.gitconfig文件,新增如下,注意私有庫(kù)是http還是https

[url "git@gitlab.xxxx.com:"]
 insteadOf = http://gitlab.xxxxx.com/

方法二:通過(guò)命令行形式,直接執(zhí)行命令如下:

git config --global url."git@gitlab.xxxx.com:".insteadOf http://gitlab.xxxx.com/

4、然后執(zhí)行g(shù)o install 或者 go mod tidy確認(rèn)是否可以正常下載依賴

補(bǔ)充:go mod download 私有倉(cāng)庫(kù)依賴時(shí)返回 unknown revision v1.0.1問(wèn)題處理

1、go設(shè)置私有倉(cāng)庫(kù)

go env -w GOPRIVATE="YourRepositorySite/*"

2、git config --global url."https://YourRepositorySite".insteadof "ssh:git@YourRepositorySite"

將ssh地址切換成https

3、設(shè)置記住密碼

git config --global credential.helper store

4、git clone YourRepositorySite 記住密碼

5、go mod download下載成功

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

相關(guān)文章

  • golang context接口類(lèi)型方法介紹

    golang context接口類(lèi)型方法介紹

    這篇文章主要為大家介紹了golang context接口類(lèi)型方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 一文告訴你大神是如何學(xué)習(xí)Go語(yǔ)言之make和new

    一文告訴你大神是如何學(xué)習(xí)Go語(yǔ)言之make和new

    當(dāng)我們想要在 Go 語(yǔ)言中初始化一個(gè)結(jié)構(gòu)時(shí),其實(shí)會(huì)使用到兩個(gè)完全不同的關(guān)鍵字,也就是 make 和 new,同時(shí)出現(xiàn)兩個(gè)用于『初始化』的關(guān)鍵字對(duì)于初學(xué)者來(lái)說(shuō)可能會(huì)感到非常困惑,不過(guò)它們兩者有著卻完全不同的作用,本文就和大家詳細(xì)講講
    2023-02-02
  • GoLang日志監(jiān)控系統(tǒng)實(shí)現(xiàn)

    GoLang日志監(jiān)控系統(tǒng)實(shí)現(xiàn)

    這篇文章主要介紹了GoLang日志監(jiān)控系統(tǒng)的實(shí)現(xiàn)流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-12-12
  • golang中的單引號(hào)轉(zhuǎn)義問(wèn)題

    golang中的單引號(hào)轉(zhuǎn)義問(wèn)題

    這篇文章主要介紹了golang中的單引號(hào)轉(zhuǎn)義問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Go cobra庫(kù)使用教程

    Go cobra庫(kù)使用教程

    cobra既是一個(gè)用于創(chuàng)建強(qiáng)大現(xiàn)代CLI應(yīng)用程序的庫(kù),也是一個(gè)生成應(yīng)用程序和命令文件的程序。cobra被用在很多go語(yǔ)言的項(xiàng)目中,比如 Kubernetes、Docker、Istio、ETCD、Hugo、Github CLI等等
    2022-12-12
  • 定位并修復(fù) Go 中的內(nèi)存泄露問(wèn)題

    定位并修復(fù) Go 中的內(nèi)存泄露問(wèn)題

    Go 是一門(mén)帶 GC 的語(yǔ)言,這篇文章回顧了我如何發(fā)現(xiàn)內(nèi)存泄漏、如何修復(fù)它,以及我如何修復(fù) Google 示例 Go 代碼中的類(lèi)似問(wèn)題,以及我們?nèi)绾胃倪M(jìn)我們的庫(kù)以防止將來(lái)發(fā)生這種情況,感興趣的朋友一起看看吧
    2021-10-10
  • golang 數(shù)組去重,利用map的實(shí)現(xiàn)

    golang 數(shù)組去重,利用map的實(shí)現(xiàn)

    這篇文章主要介紹了golang 數(shù)組去重,利用map的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 一篇文章讀懂Golang?init函數(shù)執(zhí)行順序

    一篇文章讀懂Golang?init函數(shù)執(zhí)行順序

    init()函數(shù)會(huì)在包被初始化后自動(dòng)執(zhí)行,并且在main()函數(shù)之前執(zhí)行,但是需要注意的是init()以及main()函數(shù)都是無(wú)法被顯式調(diào)用的,下面這篇文章主要給大家介紹了關(guān)于如何通過(guò)一篇文章讀懂Golang?init函數(shù)執(zhí)行順序的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • go mod包拉不下來(lái)的問(wèn)題及解決方案

    go mod包拉不下來(lái)的問(wèn)題及解決方案

    這篇文章主要介紹了go mod包拉不下來(lái)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • go語(yǔ)言打包的網(wǎng)頁(yè)wasm示例詳解

    go語(yǔ)言打包的網(wǎng)頁(yè)wasm示例詳解

    這篇文章主要為大家介紹了go打包網(wǎng)頁(yè)wasm示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>
    2022-09-09

最新評(píng)論