濮阳杆衣贸易有限公司

主頁 > 知識庫 > go mod 安裝依賴 unkown revision問題的解決方案

go mod 安裝依賴 unkown revision問題的解決方案

熱門標(biāo)簽:電話機(jī)器人軟件免費(fèi) 百度地圖標(biāo)注后傳給手機(jī) 壽光微信地圖標(biāo)注 涿州代理外呼系統(tǒng) 阿克蘇地圖標(biāo)注 評價高的400電話辦理 excel地圖標(biāo)注分布數(shù)據(jù) 外呼系統(tǒng)用什么卡 外呼系統(tǒng)顯本地手機(jī)號

背景

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

小知識

go mod

golang用來管理用來的,類似java的maven(但肯定沒有maven這么好用)

go mod tidy ,下載更新依賴

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

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

golang環(huán)境配置

linux

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

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

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

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

git 配置

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

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

踩坑

golang版本問題

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

在1.12版本的時候,要手動打開GO111MODULE ,就是導(dǎo)入這個環(huán)境變量GO111MODULE=on

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

所以建議升級就golang版本到1.13以上版本

**

git版本問題

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

解決方法:更新git

gitlab請求問題

公司的gitlab倉庫請求的是http請求,而不是https請求,這個需要根據(jù)公司實(shí)際情況來看

解決辦法

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

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

建議直接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í)是通過git命令去下載的,而且默認(rèn)是http協(xié)議去下載的,建議是修改為ssh協(xié)議去獲取

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

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

方法二:通過命令行形式,直接執(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 私有倉庫依賴時返回 unknown revision v1.0.1問題處理

1、go設(shè)置私有倉庫

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下載成功

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

您可能感興趣的文章:
  • Go語言 如何實(shí)現(xiàn)RSA加密解密
  • golang 如何實(shí)現(xiàn)HTTP代理和反向代理
  • Golang實(shí)現(xiàn)http文件上傳小功能的案例
  • 解決golang 關(guān)于全局變量的坑
  • Goland使用Go Modules創(chuàng)建/管理項(xiàng)目的操作
  • Go語言獲取文件的名稱、前綴、后綴

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《go mod 安裝依賴 unkown revision問題的解決方案》,本文關(guān)鍵詞  mod,安裝,依賴,unkown,revision,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《go mod 安裝依賴 unkown revision問題的解決方案》相關(guān)的同類信息!
  • 本頁收集關(guān)于go mod 安裝依賴 unkown revision問題的解決方案的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    阜新市| 年辖:市辖区| 西安市| 台州市| 淳安县| 洛宁县| 宁德市| 武夷山市| 大兴区| 太白县| 义乌市| 双牌县| 铜山县| 同德县| 栾城县| 来宾市| 西青区| 慈利县| 平安县| 延吉市| 通许县| 梁河县| 正宁县| 高邮市| 隆尧县| 南汇区| 高碑店市| 长子县| 桓仁| 海淀区| 河池市| 来安县| 黑龙江省| 信丰县| 沙雅县| 禹州市| 收藏| 友谊县| 景德镇市| 林西县| 闵行区|