如何安装适配Go 1.13.x的旧版本gomobile?MacOS Big Sur重装系统后的环境配置问询
解决Go 1.13.x兼容gomobile的版本问题
我之前也碰到过类似的版本兼容坑,刚好能给你一些实用的解决办法:
一、直接安装兼容Go 1.13的旧版本gomobile
你现在用go get默认拉取的是gomobile的最新v0版本,这个版本确实要求Go 1.16+。要安装适配Go 1.13的旧版本,你可以通过Go模块的版本指定功能来实现:
- 先清理掉当前的gomobile安装:
go clean -i golang.org/x/mobile/cmd/gomobile - 安装指定的旧版本,比如这个2020年底的commit版本(完全兼容Go 1.13):
如果你需要找其他更合适的旧版本,可以查看golang.org/x/mobile的提交历史,挑选Go 1.16发布之前的commit,用go get golang.org/x/mobile/cmd/gomobile@v0.0.0-20201203180208-355df034467e@<commit哈希>的方式安装即可。
二、从源码编译旧版本gomobile
如果上面的方法不行,你也可以手动克隆源码并切换到兼容版本编译:
- 克隆mobile仓库到本地:
git clone https://go.googlesource.com/mobile - 进入仓库目录,切换到兼容Go 1.13的commit:
cd mobile git checkout 355df034467e - 编译并安装gomobile:
go install ./cmd/gomobile - 最后运行
gomobile init,应该就能正常执行了。
另外补充一句:你之前系统没重装时能用,是因为当时安装的就是旧版本的gomobile,这次重装后go get默认拉了最新版,才触发了版本要求的报错。
内容的提问来源于stack exchange,提问作者Dominik
相关产品推荐
相关产品推荐

