Comment on page
1.4 项目设置
- 1.下载 Go 语言编译器,使用最新发布版本即可。解压后将文件夹更名为
gobs
并移动到某目录下,例如$HOME/Tools
下。此时$HOME/Tools/gobs
包含着最新的 Go 预编译发行版本 - 2.设置编译工具链环境变量:export GOROOT_BOOTSTRAP=$HOME/Tools/gobs该环境变量用于搜索编译 Go 源码时的编译器工具链,因为只设置了该环境变量,所以该目录下的 go 只会在后续的编译步骤中被搜索使用到
- 3.Clone 源代码并编译:git clone https://github.com/golang/go $HOME/Tools/go # Clone 源代码到目标目录cd $HOME/Tools/go/srcgit checkout d26fc68aa10dc8eda5ccdcc80d790e7df2fd9823 # checkout 与本文一致的代码./all.bash # 编译源代码完成编译之后
$HOME/Tools/go
下面会多出bin
与pkg
目录。bin
目录下面包含可执行文件go
, 而pkg
目录下包含着各个库编译后的对象文件(pkg/linux_amd64)、工具链(pkg/tool)以及构建时的缓存文件(pkg/obj/go-build)。可以运行bin/go version
查看当前版本:./go versiongo version devel +ce19612a36 Thu Mar 4 15:10:16 2021 +0800 linux/amd64注意:工程中的很多代码是在构建时自动生成的,因此如果读者重新更新了代码,一定要先运行脚本./all.bash
, 否则 IDE 可能会提示编译错误,或者无法运行某些 UT - 4.设置环境变量:export GOROOT=$HOME/Tools/goexport GOPATH=$HOME/goexport PATH=$GOROOT/bin:$GOPATH/bin:$PATH注意这样设置之后整个系统都会使用 master 分支编译出来的 go, 如果你需要在本地编译生产环境的系统或者其他工具,则需要修改
GOROOT
编译器及整个工具链的代码在目
$GOROOT/src/cmd/
下面,该目录的结构也是一个典型的 go 语言工程,将该目录作为根目录引入 IDE 即可。项目的配置方式不止一种,这里只是分享的基于作者自己开发环境(Archlinux)的个人配置,每个人偏爱的环境以及工具都不一样,只需要按照上述思路配置能够正常工作即可。