使用场景
有新的Go版本出来后,我们通常使用go install来进行安装,我们以Mac安装go 1.18 beta 2版本为例进行说明,其它操作系统类似。
使用go install安装go1.18beta2的最新版本
go install golang.org/dl/go1.18beta2@latest
执行这条命令的结果是会下载go1.18beta2这个可执行程序文件到本地,那会有3个疑问:
-
go1.18beta2可执行文件存放在哪里? -
go1.18beta2要怎么使用? -
go1.18beta2的源码存放在哪里?
go1.18beta2 可执行文件存放在哪里?
go install [build flags] [packages]
Install compiles and installs the packages named by the import paths.
Executables are installed in the directory named by the GOBIN environment variable, which defaults to HOME/go/bin if the GOPATH environment variable is not set. Executables in GOROOT/bin or GOBIN.
- 如果设置了
GOPATH环境变量,go1.18beta2会安装到$GOPATH/bin目录下 - 如果没有设置
GOPATH环境变量,go1.18beta2会安装到$HOME/go/bin目录下
一般都会设置GOPATH环境变量,可以使用如下命令查看GOPATH的值
go env GOPATH
安装完之后可以去对应目录查看是否存在go1.18beta2 文件。
go1.18beta2要怎么使用?
通过上面go install下载到的go1.18beta2可执行文件其实还不能直接使用。
比如执行go1.18beta2 version命令,会得到如下结果:
go1.18beta2: not downloaded. Run 'go1.18beta2 download' to install to
/Users/xxx/sdk/go1.18beta2
因此还要使用go1.18beta2 download下载go1.18beta2版本的源码。
$ go1.18beta2 download
Downloaded 0.0% ( 16384 / 143466224 bytes) ...
Downloaded 0.3% ( 360448 / 143466224 bytes) ...
Downloaded 2.8% ( 3964912 / 143466224 bytes) ...
Downloaded 5.4% ( 7798736 / 143466224 bytes) ...
Downloaded 7.9% ( 11321264 / 143466224 bytes) ...
Downloaded 10.8% ( 15531952 / 143466224 bytes) ...
Downloaded 14.3% ( 20479856 / 143466224 bytes) ...
Downloaded 16.8% ( 24051536 / 143466224 bytes) ...
Downloaded 19.8% ( 28360496 / 143466224 bytes) ...
Downloaded 22.6% ( 32456496 / 143466224 bytes) ...
Downloaded 24.8% ( 35553088 / 143466224 bytes) ...
Downloaded 27.9% ( 40074960 / 143466224 bytes) ...
Downloaded 30.2% ( 43302592 / 143466224 bytes) ...
Downloaded 33.0% ( 47333024 / 143466224 bytes) ...
Downloaded 35.3% ( 50691712 / 143466224 bytes) ...
Downloaded 37.4% ( 53608048 / 143466224 bytes) ...
Downloaded 40.1% ( 57474640 / 143466224 bytes) ...
Downloaded 42.5% ( 60915248 / 143466224 bytes) ...
Downloaded 45.3% ( 65060368 / 143466224 bytes) ...
Downloaded 47.4% ( 68025856 / 143466224 bytes) ...
Downloaded 49.9% ( 71597536 / 143466224 bytes) ...
Downloaded 52.5% ( 75365840 / 143466224 bytes) ...
Downloaded 55.3% ( 79298000 / 143466224 bytes) ...
Downloaded 58.6% ( 84098432 / 143466224 bytes) ...
Downloaded 61.3% ( 87981424 / 143466224 bytes) ...
Downloaded 64.0% ( 91880784 / 143466224 bytes) ...
Downloaded 66.3% ( 95092080 / 143466224 bytes) ...
Downloaded 68.3% ( 97975584 / 143466224 bytes) ...
Downloaded 70.9% (101678336 / 143466224 bytes) ...
Downloaded 73.4% (105282784 / 143466224 bytes) ...
Downloaded 75.3% (108100816 / 143466224 bytes) ...
Downloaded 78.0% (111934640 / 143466224 bytes) ...
Downloaded 80.5% (115440784 / 143466224 bytes) ...
Downloaded 83.5% (119848048 / 143466224 bytes) ...
Downloaded 85.8% (123124864 / 143466224 bytes) ...
Downloaded 87.7% (125844544 / 143466224 bytes) ...
Downloaded 90.0% (129072176 / 143466224 bytes) ...
Downloaded 92.7% (133020688 / 143466224 bytes) ...
Downloaded 95.3% (136707056 / 143466224 bytes) ...
Downloaded 97.1% (139312096 / 143466224 bytes) ...
Downloaded 99.4% (142556112 / 143466224 bytes) ...
Downloaded 100.0% (143466224 / 143466224 bytes)
Unpacking /Users/xxx/sdk/go1.18beta2/go1.18beta2.darwin-amd64.tar.gz ...
Success. You may now run 'go1.18beta2'
下载完毕后,就可以使用go1.18beta2命令来测试和验证新版本的Go了。
$ go1.18beta2 version
go version go1.18beta2 darwin/amd64
go1.18beta2的源码存放在哪里?
执行go1.18beta2 download之前,如果使用go1.18beta2 version命令会提示源码安装位置:
go1.18beta2: not downloaded. Run 'go1.18beta2 download' to install to
/Users/xxx/sdk/go1.18beta2
执行 `go1.18beta2 download之后,也提示了源码安装位置:
Unpacking /Users/xxx/sdk/go1.18beta2/go1.18beta2.darwin-amd64.tar.gz ...
Success. You may now run 'go1.18beta2'
因此源码安装位置就在$HOME/sdk目录下。
执行go1.18beta2 env GOROOT也可以查看到源码地址:
$ go1.18beta2 env GOROOT
/Users/xxx/sdk/go1.18beta2
开源地址
文章和示例代码开源地址: GitHub - jincheng9/go-tutorial: Go learning materials,涵盖基础、中级和高级教程
公众号:coding进阶
个人网站:Jincheng's Blog。