如何仅使用供应商依赖项运行go命令?

时间:2016-07-19 15:57:16

标签: go vendor

我一直在遇到我在本地安装依赖项的问题,它工作正常,我推送到持续集成服务器,然后它因为我忘了godep save ./...依赖而中断了。

如何运行go命令但需要导入vendor

修改

我正在使用go1.6。如果第三方依赖 解析到供应商,我希望命令失败。换句话说,有没有办法在测试期间停止解析$GOPATH中的依赖项?

我无法更改环境变量,因为我的项目模块都无法解析。如何强制供应商依赖?

1 个答案:

答案 0 :(得分:1)

无法阻止构建器扫描$GOPATH包。看起来,您使用的管理依赖项并不是非常好的流程。我建议您使用glide进行销售。

最推荐的工作流程:

  1. glide.yaml
  2. 中保留实际的依赖项列表
  3. glide up中的任何更改后运行glide.yaml。它将所有依赖项安装到vendor目录并生成具有固定包版本的glide.lock。将glide.lock提交给VCS。 不要手动更改glide.lock
  4. 不要vendor目录提交给VCS。
  5. 在您的CI或构建服务器上运行glide install,以便glide.lockvendor安装依赖项。
  6. 构建
  7. godep迁移到glide可能很容易,因为glide有一个将Godeps.json迁移到glide.yaml的命令。