"滑行得到"并且"去得到"安装不同的版本

时间:2017-06-18 06:54:04

标签: go

我使用ginkgo作为测试工具,glide作为软件包管理器。

ginkgo要求我们安装二进制文件以自动生成测试文件。 glide,据我所知,不支持安装二进制文件。所以,我最终使用go get来安装二进制文件及其源文件。

问题是glide通过扫描go文件来安装它解析的所有软件包。这意味着还安装了ginkgo的源文件。 在编译期间,vendor目录中的包具有优先级。因此,这会导致使用来自$GOPATH/bin的二进制文件并使用来自vendor目录的源文件的情况。 似乎go get从master分支中获取文件,而glide获取最新发布的版本。因此,二进制文件生成的测试文件与glide安装的源文件不兼容。

有没有办法防止滑动安装某些特定的包? 或者还有其他更好的方法吗?

1 个答案:

答案 0 :(得分:2)

使用滑动,您可以指定要安装的某个版本的软件包。这是在glide.yaml

中完成的
  

提示:该版本是VCS相关的,可以是任何可以的版本   签出或可以解析的语义版本约束   github.com/ Masterminds / semver包。例如,用Git这个   可以是分支,标记或哈希。这会有所不同,取决于什么   VCS支持。

package: github.com/YOUR/PACKAGE
import:
  - package: github.com/onsi/ginkgo/ginkgo
    version: master
    repo: git@github.com:onsi/ginkgo.git

这将下载最新的主提交。

Here是有关使用滑行进行版本控制的更多信息。