需要与 Makefile 一起使用多个 Go 版本

如果我正在处理需要不同 Go 版本来构建它们的多个项目,我将如何优雅地设置我的开发环境来处理这个问题?

每个项目都有自己的 Makefile,在某些时候会调用 Go 命令。问题是某些项目需要不同版本的 Go,但 Makefile 只使用go build. 到目前为止,我的解决方案是简单地将我需要的任何 Go 版本添加到PATH变量中,例如项目 1 需要 go1.12.10,所以我只是运行

export PATH=<path_to_go1.12.10_>/bin>:$PATH

当我想构建需要 go1.13.6 的项目 2 时

export PATH=<path_to_go1.13.6>/bin:$PATH

这行得通,但是有更优雅的解决方案吗?修改项目的构建系统不是我能做的,至少短期内不能。


尚方宝剑之说
浏览 87回答 1
1回答

萧十郎

Go build 没有本地方法来设置要构建的版本,因此您要么像现在这样设置路径,要么使用显式执行/<path_to_go1.13.6>/bin/go.对于您暗示您正在使用的版本,它们与最新版本的 go 之间确实不应该不兼容。On of Go 的租户是在基本上所有情况下保持向后兼容性。使用 go 的最新版本很可能会更好,并且,如果有什么东西阻止你升级编译器,那就修复它。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go