donglin8467 2016-05-26 16:29 采纳率: 0%
浏览 98
已采纳

有没有一种方法可以停止使用旧版本的go进行go代码编译?

We have some internal command line tools written in Go, and we're using the vendor folder to control their dependencies.

However, if the tools are updated with go get using Go 1.4 or lower (or 1.5 without the vendor experiment flag), from what I understand the dependencies will be pulled separately into the gopath.

Is there a way to require a minimum version of the go compiler to compile a package, so we have a hard and fast way to ensure everyone has the minimum version we expect?

  • 写回答

1条回答 默认 最新

  • douguai6716 2016-05-26 16:39
    关注

    We do this in rclone with a build constraint like this. All go compilers version >= 1.5 will set the go1.5 build constraint so this won't build with a compiler < 1.5 and will build with a compiler >= 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() }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?