包管理器里
与npm yarn等类似,开始了解到的是glide,但是发现这个东西在win10-64bit下面有bug,准备自己编译一个,发现glide源码里依赖的cli版本还变了,按照源码get的cli,win10平台+go1.14.8编译又报了几个类型错误。于是改用golang的dep试试。
dep说明
初步使用
- 根据项目地址和go的版本下载相应的dep版本,这里go的版本要大于1.7
- windows版本下载编译后的文件就是一个dep的exe
- 把dep文件放到项目路径中,即工程目录下(%GOPATH%/bin),测试的程序我直接放到了目录里(%GOPATH%/src/xxx/)
- 初始化工程使用dep init
说明
dep init
此命令执行后,会生成两个文件(Gopkg.lock/Gopkg.toml)和一个vendor目录
- Gopkg.lock 是具体的定义文件,此文件不可修改。官方文档
- Gopkg.toml 是依赖管理文件,可以生成也可以修改,类似于package.json这种文件。官方文档
- vendor目录 是依赖管理目录,最优先加载的,类似与node_module这种
dep status
此命令执行后,显示当前项目中的依赖包
- CONSTRAINT为Gopkg.toml中限定的版本
- VERSION为当前vendor中的版本
- REVISION为当前vendor中的修订号
- LATEST为CONSTRAINT限定下github中能满足要求的最新版本
其他命令
# 依赖管理帮助
dep help ensure
# 添加一条依赖
dep ensure -add github.com/bitly/go-simplejson
# 这里 @= 参数指定的是 某个 tag
dep ensure -add github.com/bitly/go-simplejson@=0.4.3
# 添加后,先调用一下新加入的库,然后执行 确保 同步
dep ensure
# 同理建议使用
dep ensure -v
# 更新依赖
dep ensure -update -v
# 删除没有用到的 package
dep prune -v
声明
以上内容参考文章如下:
以上内容,如需转载请注明出处