<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          有,總比沒有要好:Go依賴管理工具dep

          共 1714字,需瀏覽 4分鐘

           ·

          2022-06-10 21:07

          點擊上方“Go語言進階學習”,進行關(guān)注

          回復(fù)“Go語言”即可獲贈從入門到進階共10本電子書

          新妝宜面下朱樓,深鎖春光一院愁。

          有,總比沒有要好:Go依賴管理工具dep

          介紹

          ? ??“ 閱讀本文大概需要3.4分鐘 ”

          ? ? 早期的Golang被很多開發(fā)者所詬病的一個問題就是依賴包的管理。Golang 1.5 release版本的發(fā)布之前,只能通過設(shè)置多個GOPATH的方式來解決這個問題,例如:我兩個工程都依賴了Beego,但A工程依賴的是Beego1.1,B工程依賴的是Beego1.7,我必須設(shè)置兩個GOPATH來區(qū)分,并且在切換工程的時候GOPATH也得切換,無比痛苦。終于終于在Golang 1.5 release 開始支持除了GOROOT和GOPATH之外的依賴查詢,那就是vender于是很多大佬開始造輪子,造得比較好的應(yīng)該是depglide

          主角出場

          ? ? 今天的主角是dep,Golang的官方依賴工具,用來管理和下載工程依賴的工具,以下是官方的介紹

          dep is a prototype dependency management tool for Go. It requires Go 1.9 or newer to compile. dep is safe for production use.

          安裝

          • MacOS ?brew install dep

          • Linux curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh

          • Windows ? go get -u github.com/golang/dep/cmd/dep

            Windows得自己編譯,并且確認把 $GOPATH/bin 添加到環(huán)境變量$PATH

          驗證

          ? ? 在命令行輸入dep并回車,會出現(xiàn)以下提示的話,說明已經(jīng)安裝成功了。


          功能介紹

          1.dep init
          ? ? 備份當前的vender,創(chuàng)建vender目錄并下載項目中的所有依賴包,生成Gopkg.lockGopkg.toml以下是兩個文件的作用說明,簡單講Gopkg.toml是清單文件,Gopkg.lock是校驗描述文件。盡量不要修改,避免造成兩個文件不同步的錯誤。

          A manifest - a file describing the current project’s dependency requirements. In dep, this is the Gopkg.toml file.
          A lock - a file containing a transitively-complete, reproducible description of the dependency graph. In dep, this is the Gopkg.lock file.


          2.dep status

          ? ? 用來查看項目依賴的詳細信息和狀態(tài),非常清晰。?

          3.dep ensure
          ? ? 嘗試確保所有的依賴庫都已經(jīng)安裝,如果沒有即下載,相當于對依賴庫做增量更新。


          4.dep ensure add ? github.com/RoaringBitmap/roaring@^1.0.1

          ? ? 下載添加新的依賴庫,并增量更新清單文件和校驗描述文件。github.com/RoaringBitmap/roaring 是依賴庫的包名,1.0.1是庫的版本號。

          本地緩存

          ? ? 當然dep不會每次都去下載,其工作原理和Mevan一樣,會優(yōu)先在本地倉庫搜索,本地倉庫未找到即在網(wǎng)絡(luò)上下載,并添加到本地倉庫。

          $GOPATH/pkg/dep/sources


          -------------------?End?-------------------

          ?
          ?

          往期精彩文章推薦:

          歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入Go學習群請在后臺回復(fù)【入群

          萬水千山總是情,點個【在看】行不行

          瀏覽 43
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  xxxxx无码 | 99精品视频99 | 久久久精品影院av | 欧美性爱无码 | 夜夜摸夜夜操 |