时长:大小15.86M
作者回复: 是的。如果用的是go 1.17版本,那么从go 1.17开始, go get不再承载go install功能了。写这篇稿子的时候,go 1.17还没有发布。用的是go 1.16。
作者回复: 手动点赞!
作者回复: 好问题。go env的确会综合多个数据源。优先级最高的是用户级环境变量。以linux为例,你的用户下的.profile文件中的环境变量优先级最高。然后是系统级环境变量(但我们很少在linux下用系统级环境变量),最后是go自带的默认值。
作者回复: 首先感谢你如此认真的看文章、动手实践以及提出问题。 问题1:当你的主机上没有$HOME/go/bin目录时,当执行go get/install 1.15.13版本时,go命令会自动创建$HOME/go/bin目录,并将下载的go1.15.13文件放置在该目录下。 问题2:“fatal: unable to access 'https://go.googlesource.com/go/': Failed to connect to go.googlesource.com port 443: Operation timed out gotip: failed to clone git repository: exit status 128” -- 这个问题还是与网络或git clone慢导致超时油管。 至于““一次代码的提交就可能会导致 gotip 版本构建失败!”,这个很容易理解啊。当我们通过go get方式安装go-tip版本时,go get其实也是下载go tip最新源码,然后编译这份源码。如果某个go核心开发者提交一个代码恰好导致go tip源码编译不过去,而你 下载的恰恰是这个时刻的go tip源码,那你的go tip安装自然就会因build失败而失败。 最后,你的建议很好。我会注意考虑的。
作者回复: 👍
作者回复: 新版go都不需要配置goroot和gopath了。
作者回复: 如果是通过系统shell设置的环境变量,那应该是共享的。 如果是通过go env -w设置的,那么要看不同版本go存储env配置的路径是否是一样,如果一样,那也是共享的。查看配置路径的方法:go env GOENV。
作者回复: 👍。这个还真没试过。
作者回复: 👍
作者回复: 知道这个工具,但我没有用过。gvm更多是开发阶段使用的吧。无需部署到生产环境中,所以也谈不上是否可用于生产吧。如果觉得顺手,都可以在开发环境使用。