【发布时间】:2018-11-11 19:50:37
【问题描述】:
我目前正在开发一个小型 Go 应用程序,我想通过使用-ldflags 选项。
因为在我的公司我们有几个具有相同基础的项目,所以我决定将带有这些变量的代码提取到一个单独的“信息”模块中,该模块可以导入到每个项目中。
这是我的问题,假设我正在运行这样的应用程序:
go run -ldflags "-X git.mycompany.com/utils/info.Version=1.0.0" app.go
这很好用,并且即使变量不是“主”应用程序的一部分而是在依赖项中,变量也被正确设置。
然后我决定部署应用程序,因此我使用新的dep 工具生成vendor 文件夹。
因此,“info”依赖现在位于:vendor/git.mycompany.com/utils/info
现在当我像上面一样运行 same 命令时,不再设置上述变量 (Version)。
我在这里遗漏了什么吗?
一旦我删除供应商文件夹,一切都会再次正常。这就像这个供应商文件夹与 -ldflags 选项或其他东西冲突。
提前致谢!
【问题讨论】: