以go 1.18.2版本为例;假设你还没有在系统装安装go环境;下面一步步教你源码编译。
系统环境:
$ uname -a
Linux iZ2zedsm6n4a2cim2uccazZ 4.18.0-147.5.1.el8_1.x86_64 #1 SMP Wed Feb 5 02:00:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
- 通过二进制文件的形式,安装go环境
$ cd /tmp
$ wget https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
$ tar -zxf https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
$ mv go /usr/local/go_boot
$ export GOROOT=/usr/local/go_boot
$ export PATH=$PATH:$GOROOT/bin
$ export GOROOT_BOOTSTRAP=/usr/local/go_boot
# 下载go源码
$ cd /usr/local
$ git clone https://github.com/golang/go.git
$ cd go
$ git checkout go1.18.2
- 编译go源码
$ cd /usr/local/go/src
$ ./make.bash
- 设置编译后的go环境变量
$ export GOROOT=/usr/local/go
$ export PATH=$PATH:$GOROOT/bin
到此,运行go命令的时候,就是使用源码编译的二进制了。如果之后有需求修改go源码。重复如下步骤即可:
# 设置编译前的环境变量
$ export GOROOT=/usr/local/go_boot
$ export PATH=$PATH:$GOROOT/bin
$ export GOROOT_BOOTSTRAP=/usr/local/go_boot
$ cd /usr/local/go
$ ./make.bash
# 恢复环境变量
$ export GOROOT=/usr/local/go
$ export PATH=$PATH:$GOROOT/bin
网友评论