?對于公司的私有Gitlab倉庫被碗,沒有對https支持甚侣,在使用最新版本的go get命令時创千,需要使用-insecure參數(shù)來支持http,但如果導(dǎo)入的包里邊依賴了需要https的倉庫皆串,就不好使了淹办,折騰了一下,解決方案如下:
一恶复、為Gitlab添加SSH Keys
1.生成 ssh keys
ssh-keygen -t rsa -C "myname@mycompany.com"
2.查看內(nèi)容
cat ~/.ssh/id_rsa.pub
3.復(fù)制到剪貼板
Windows
clip < ~/.ssh/id_rsa.pub
Mac
pbcopy < ~/.ssh/id_rsa.pub
Linux (requires xclip)
xclip -sel clip < ~/.ssh/id_rsa.pub
4.粘貼到Gitlab個人中心的SSH Keys Settings
二怜森、配置.gitconfig文件
Windows
notepad C:\Users\{你的Windows用戶名}\.gitconfig
Linux/Mac
vi ~/.gitconfig
寫入
[url"git@git.mygitlab.com:"]
? ? insteadOf = https://git.mygitlab.com
這里簡化一下可以直接使用命令
git config --global url."git@git.mygitlab.com:".insteadOf"https://git.mygitlab.com"
三、驗證
go getgit.mygitlab.com/myname/xxx.git
然后到go的src目錄就可以看到新增了git.mygitlab.com/myname/目錄了谤牡,當(dāng)然源碼也在這個目錄下
? ??考慮到https可是以后的趨勢副硅,所以還是推動一下公司盡快用上https的私有倉庫吧。
四拓哟、補(bǔ)充
補(bǔ)充一下可能遇到的問題:
1想许、提示信息:package git.mygitlab/myname/gopublic.git: no buildable Go source files in d:\gosrc\src\git.mygitlab.com\myname\gopublic.git
出現(xiàn)這個提示其實(shí)表示你的文件已經(jīng)下載成功了
2伶授、這種方法拉回來的包是不會下載包內(nèi)的依賴的断序,需要自己補(bǔ)充流纹。原因見上提示信息。
3违诗、在使用時要注意需要修改目錄名漱凝,如
d:\gosrc\src\git.mygitlab.com\myname\gopublic.git
import時應(yīng)該是這樣
import "git.mygitlab.com/myname/gopublic.git/redis"
但實(shí)際因為代碼里邊引用的包路徑是
import "gopublic/redis"
導(dǎo)致在go build時會報錯,找不到包诸迟,所以要將
d:\gosrc\src\git.mygitlab.com\myname\gopublic.git
移動到
d:\gosrc\src\gopublic
以上是使用上要注意的地方
go語言作為現(xiàn)在火熱上升的編程語言茸炒,學(xué)習(xí)了解還是很有必要。
go語言學(xué)習(xí)資料阵苇,還有一群學(xué)習(xí)go語言的小伙伴壁公!