首页 > 后端开发 > Golang > 正文

有,总比没有要好:Go依赖管理工具dep

发布: 2023-07-21 13:13:46
转载
1463人浏览过
<br>

有,总比没有要好:Go依赖管理工具dep

    “ 阅读本文大概需要3.4分钟 ”

    早期的Golang被很多开发者所诟病的一个问题就是依赖包的管理。Golang 1.5 release版本的发布之前,只能通过设置多个GOPATH的方式来解决这个问题,例如:我两个工程都依赖了Beego,但A工程依赖的是<span style="color: rgb(217, 72, 99);">Beego1.1</span>,B工程依赖的是<span style="color: rgb(217, 72, 99);">Beego1.7</span>,我必须设置两个GOPATH来区分,并且在切换工程的时候GOPATH也得切换,无比痛苦。终于终于在Golang 1.5 release 开始支持除了GOROOT和GOPATH之外的依赖查询,那就是<span style="color: rgb(217, 72, 99);">vender</span>于是很多大佬开始造轮子,造得比较好的应该是<span style="color: rgb(217, 72, 99);">dep</span><span style="color: rgb(217, 72, 99);">glide</span>

主角出场

    今天的主角是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  <span style="color: rgb(217, 72, 99);">brew install dep</span>

  • Linux <span style="color: rgb(217, 72, 99);">curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh</span>

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

    Windows得自己编译,并且确认把 $GOPATH/bin 添加到环境变量<span style="color: rgb(217, 72, 99);">$PATH</span>

验证

    在命令行输入<span style="color: rgb(217, 72, 99);">dep</span>并回车,会出现以下提示的话,说明已经安装成功了。

有,总比没有要好:Go依赖管理工具dep

<br>

功能介绍

1.dep init<br>    备份当前的<span style="color: rgb(199, 37, 78);">vender</span>,创建<span style="color: rgb(61, 69, 76);">vender</span>目录并下载项目中的所有依赖包,生成<span style="color: rgb(199, 37, 78);">Gopkg.lock</span><span style="color: rgb(199, 37, 78);">Gopkg.toml</span>以下是两个文件的作用说明,简单讲<span style="color: rgb(199, 37, 78);">Gopkg.toml</span>是清单文件,Gopkg.lock是校验描述文件。尽量不要修改,避免造成两个文件不同步的错误。

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

有,总比没有要好:Go依赖管理工具dep

<br>

2.dep status

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

有,总比没有要好:Go依赖管理工具dep

有道小P
有道小P

有道小P,新一代AI全科学习助手,在学习中遇到任何问题都可以问我。

有道小P64
查看详情 有道小P

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

<br>

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

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

本地缓存

<span style="color: rgb(61, 69, 76);font-size: 16px;">    当然</span><span style="font-size: 16px;color: rgb(199, 37, 78);"><strong>dep</strong></span><span style="color: rgb(61, 69, 76);font-size: 16px;">不会每次都去下载,其工作原理和Mevan一样,会优先在本地仓库搜索,本地仓库未找到即在网络上下载,并添加到本地仓库。</span>

$GOPATH/pkg/dep/sources

以上就是有,总比没有要好:Go依赖管理工具dep的详细内容,更多请关注php中文网其它相关文章!

相关标签:
go
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:Go语言进阶学习网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号