Dan*_*son 15 version package go
我已经阅读了大量关于导入第三方go包的文章和SO问题,这些都看起来很简单,但我不明白的是我读过的都没有提到版本控制.在Dartlang中,pubspec文件定义了您的包,包括其版本及其依赖项,包括它们所需的版本.如果我做了一个go get github.com/gorilla/sessions并且写了我的应用程序然后6个月后我必须清除我的目录并重新获得所有内容,在哪个时候该软件包已经更新并且向后兼容我使用旧版本的代码?
Von*_*onC 20
来自GO FAQ的官方版本:
如果您使用外部提供的软件包并担心它可能会以意外方式更改,则最简单的解决方案是将其复制到本地存储库.(这是Google内部采用的方法.)将副本存储在新的导入路径下,将其标识为本地副本.
这种方法有很多替代方案,主要是基于声明您正在使用的项目的确切版本.
例如,参见" Go中的死亡简单依赖 - 保持简单并保持理智. "(基于emil2k/vend)
Go Dependency Management的主要不同选项列在:
" Go Package Management - Go中依赖关系管理的摘要 "
(及其关联的GOPM邮件列表)
2015年7月更新:
更新2017年第四季度:提到下面,go dep是为牵制依赖版本的官方工具(即使该钉扎的方法也不是没有批评:见" 版本的货物邪教 ").根据其路线图
,当Go 1.10开发开始时,它应该合并到工具链中.
更新Q2 2018:go dep已取代go mod(模块)在围棋1.11,下面就作品vgo.
| 归档时间: |
|
| 查看次数: |
8440 次 |
| 最近记录: |