想本地编译tiup,目前我试过从tiup1.12到tiup1.16,都要求go版本在1.19以上,但是我们的编译环境go版本是1.18,我们很多其他组件的编译需要依赖1.18版本的go,所以不能贸然升级go版本。想咨询一下,怎么使用1.18版本的go编译tiup呢?

想本地编译tiup,目前我试过从tiup1.12到tiup1.16,都要求go版本在1.19以上,但是我们的编译环境go版本是1.18,我们很多其他组件的编译需要依赖1.18版本的go,所以不能贸然升级go版本。想咨询一下,怎么使用1.18版本的go编译tiup呢?

你可以看看这个pr,这个pr将tiup的go版本从1.19升到了1.21.里面修改的文件就是如何设置go版本的。
你可以把这部分内容改回去。看看能否编译通过。

1 个赞

可以在本地安装多个go版本,然后用新版本编译tiup就好了

2 个赞

在使用 go build 命令编译 Go 程序时,如果你的环境中有多个版本的 Go 运行时,编译器可能会使用与 go 命令版本相匹配的运行时。可以通过设置 GOPATHGOROOT 环境变量来指定使用哪个版本的 Go。

1 个赞

谢谢,目前我们可以接受使用tiup1.10版本,后续如果需要升级tiup版本,我会试一下回退这个pr的效果

谢谢,目前我们可以接受使用tiup1.10版本,可以用go1.18编译,后续如果需要升级tiup版本,我也会尝试多版本go的建议

多版本go挺合适的建议