Go源码编译

作者: qishuai | 来源:发表于2022-06-16 15:33 被阅读0次

    以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
    

    相关文章

      网友评论

        本文标题:Go源码编译

        本文链接:https://www.haomeiwen.com/subject/etdqvrtx.html