【发布时间】:2016-05-26 16:29:23
【问题描述】:
我们有一些用 Go 编写的内部命令行工具,我们正在使用 vendor 文件夹来控制它们的依赖关系。
但是,如果使用 Go 1.4 或更低版本(或没有供应商实验标志的 1.5)使用 go get 更新工具,据我了解,依赖项将被单独拉入 gopath。
有没有办法要求 go 编译器的最低版本来编译一个包,所以我们有一个硬性和快速的方法来确保每个人都有我们期望的最低版本?
【问题讨论】:
标签: go
我们有一些用 Go 编写的内部命令行工具,我们正在使用 vendor 文件夹来控制它们的依赖关系。
但是,如果使用 Go 1.4 或更低版本(或没有供应商实验标志的 1.5)使用 go get 更新工具,据我了解,依赖项将被单独拉入 gopath。
有没有办法要求 go 编译器的最低版本来编译一个包,所以我们有一个硬性和快速的方法来确保每个人都有我们期望的最低版本?
【问题讨论】:
标签: go
我们这样做in rclone
像这样的构建约束。所有 go 编译器版本 >= 1.5 将设置 go1.5 构建约束,因此这不会使用编译器 = 1.5 构建。
//+build !go1.5
package main
// Upgrade to Go version 1.5 to compile rclone.
func init() { Go_version_1_5_required_for_compilation() }
【讨论】: