以go 1.18.2版本為例浑娜;假設你還沒有在系統(tǒng)裝安裝go環(huán)境瓮钥;下面一步步教你源碼編譯狱意。
系統(tǒng)環(huán)境:
$ 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環(huán)境
$ 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環(huán)境變量
$ export GOROOT=/usr/local/go
$ export PATH=$PATH:$GOROOT/bin
到此,運行go命令的時候髓涯,就是使用源碼編譯的二進制了袒啼。如果之后有需求修改go源碼。重復如下步驟即可:
# 設置編譯前的環(huán)境變量
$ export GOROOT=/usr/local/go_boot
$ export PATH=$PATH:$GOROOT/bin
$ export GOROOT_BOOTSTRAP=/usr/local/go_boot
$ cd /usr/local/go
$ ./make.bash
# 恢復環(huán)境變量
$ export GOROOT=/usr/local/go
$ export PATH=$PATH:$GOROOT/bin