Golang进阶

Go源码编译

2022-06-16  本文已影响0人  qishuai

以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
  1. 通过二进制文件的形式,安装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
  1. 编译go源码
$ cd /usr/local/go/src
$ ./make.bash
  1. 设置编译后的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
上一篇 下一篇

猜你喜欢

热点阅读