golang glide 依賴管理 使用

[TOC]

介紹

https://github.com/Masterminds/glide

glide.yaml

https://glide.sh/docs/glide.yaml

安裝

go get -v github.com/Masterminds/glide
go install github.com/Masterminds/glide

初始化

  • 如果是未使用 glide 的工程直接
glide init

在初始化過程中, glide 會詢問一些問題
一般建議 y,在升級策略是建議 只下載補丁(patch)不下載升級(minor)
完成后會生成文件 glide.yaml

glide.yaml記載了依賴包的列表及其更新規則

注意這個文件必須 utf-8 編碼

glide 版本規則

=: equal (aliased to no operator)
!=: not equal
>: greater than
<: less than
>=: greater than or equal to
<=: less than or equal to

1.2 - 1.4.5 which is equivalent to >= 1.2, <= 1.4.5
2.3.4 - 4.5 which is equivalent to >= 2.3.4, <= 4.5
1.2.x is equivalent to >= 1.2.0, < 1.3.0
>= 1.2.x is equivalent to >= 1.2.0
<= 2.x is equivalent to < 3
* is equivalent to >= 0.0.0
~1.2.3 is equivalent to >= 1.2.3, < 1.3.0
~1 is equivalent to >= 1, < 2
~2.3 is equivalent to >= 2.3, < 2.4
~1.2.x is equivalent to >= 1.2.0, < 1.3.0
~1.x is equivalent to >= 1, < 2
^1.2.3 is equivalent to >= 1.2.3, < 2.0.0
^1.2.x is equivalent to >= 1.2.0, < 2.0.0
^2.3 is equivalent to >= 2.3, < 3
^2.x is equivalent to >= 2.0.0, < 3

安裝依賴

如果是已經使用 gilde 管理的工程,本身包含 glide.yaml 文件

glide install

安裝后會生產文件 glide.lock
這個文件記載了依賴包確定的revision, 下次再執行 glide install 時,會直接讀這個文件下載確定的版本

升級依賴

glide up 會按照語義化版本規則更新依賴包代碼

編輯文件 glide.yaml 然后執行

glide up

獲取依賴

glide get github.com/orcaman/concurrent-ma

使用鏡像

可以通過配置將墻了的版本庫 URL 映射到沒被墻的 URL,甚至也可以映射到本地版本庫

glide mirror set golang.org/x/crypto github.com/golang/crypto
glide mirror set golang.org/x/sys github.com/golang/sys

這樣就將這個庫從當前工程的

- package: golang.org/x/crypto

修改結果 $HOME/.glide/mirrors.yaml

repos:
- original: golang.org/x/crypto
  repo: github.com/golang/crypto

類似的

glide mirror set golang.org/x/text /home/users/qiangmzsx/var/golang/golang.org/x/text

移除鏡像

glide mirror remove golang.org/x/crypto

全局配置

GLIDE_HOME變量,
該變量就是$HOME/.glide

這個目錄之前有提到過,除了包含有mirrors.yaml還有一個很重要的目錄cache本地 cache
每次更新代碼時,glide 都會在本地保存 cache,以備下次 glide install 使用

GLIDE_HOME可以通過如下命令修改

glide --home [path]

問題

鏡像功能有時候不好用,可以用 gopm 安裝到全局來解決

Error scanning golang.org/x/sys/unix: cannot find package

[WARN]    Unable to checkout golang.org/x/sys/unix
[WARN]    Unable to set version on golang.org/x/sys/unix to . Err: Cannot detect VCS
[ERROR]    Error scanning golang.org/x/sys/unix: cannot find package "." in:
    /Users/sinlov/.glide/cache/src/https-golang.org-x-sys-unix
[ERROR]    Failed to retrieve a list of dependencies: Error resolving imports
  • fix
cat $HOME/.glide/mirrors.yaml
repos:
- original: https://golang.org/x/crypto
  repo: https://github.com/golang/crypto
- original: https://golang.org/x/crypto/acme/autocert
  repo: https://github.com/golang/crypto
  base: golang.org/x/crypto
- original: https://golang.org/x/sys/unix
  repo: https://github.com/golang/sys
  base: golang.org/x/sys
- original: https://golang.org/x/net
  repo: https://github.com/golang/net
- original: https://golang.org/x/sync
  repo: https://github.com/golang/sync
- original: https://golang.org/x/tools
  repo: https://github.com/golang/tools
- original: https://golang.org/x/grpc
  repo: https://github.com/golang/grpc
- original: https://golang.org/x/time
  repo: https://github.com/golang/time
glide mirror set https://golang.org/x/sys/unix https://github.com/golang/sys --base golang.org/x/sys

see https://github.com/xkeyideal/glide#bug-2

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,702評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,143評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,553評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,620評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,416評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,940評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,024評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,170評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,709評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,597評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,291評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,029評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,407評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,663評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,403評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,746評論 2 370

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,776評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,597評論 25 707
  • 更多精彩文章https://deepzz.comDesc:10分鐘了解glide相關命令,做好包管理準備 以下是G...
    deepzz閱讀 6,673評論 0 4
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,887評論 6 342
  • 其實我一直很羨慕那種,很有目標,堅定知道自己要做什么的人。 而我是典型的,階段性迷茫。以至于在現在大家都在開學的時...
    木木王奇閱讀 211評論 0 0