亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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

標簽:
Go

介绍

早期的Golang被很多开发者所诟病的一个问题就是依赖包的管理。Golang 1.5 release版本的发布之前,只能通过设置多个GOPATH的方式来解决这个问题,例如:我两个工程都依赖了Beego,但A工程依赖的是Beego1.1,B工程依赖的是Beego1.7,我必须设置两个GOPATH来区分,并且在切换工程的时候GOPATH也得切换,无比痛苦。终于终于在Golang 1.5 release 开始支持除了GOROOT和GOPATH之外的依赖查询,那就是vender,于是很多大佬开始造轮子,造得比较好的应该是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 添加到环境变量$PATH

验证

在命令行输入dep并回车,会出现以下提示的话,说明已经安装成功了。

https://img1.sycdn.imooc.com//5d5e7c060001dce408710394.png

image.png


功能介绍

  1. dep init


    https://img1.sycdn.imooc.com//5d5e7c09000177fa07530258.png

    image.png

备份当前的vender,创建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.

  1. dep status
    用来查看项目依赖的详细信息和状态,非常清晰。


    https://img1.sycdn.imooc.com//5d5e7c100001b2bc07530189.png

    image.png

  2. dep ensure
    尝试确保所有的依赖库都已经安装,如果没有即下载,相当于对依赖库做增量更新。

  3. dep ensure add   github.com/RoaringBitmap/roaring@^1.0.1
    下载添加新的依赖库,并增量更新清单文件和校验描述文件。github.com/RoaringBitmap/roaring 是依赖库的包名,1.0.1是库的版本号。

本地缓存

当然dep不会每次都去下载,其工作原理和Mevan一样,会优先在本地仓库搜索,本地仓库未找到即在网络上下载,并添加到本地仓库。
$GOPATH/pkg/dep/sources



作者:freelang
链接:https://www.jianshu.com/p/543dd5ce56fe

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消