Ubantu下Golang環境安裝

1. 設置 Go 環境

要安裝並順利使用 Go,第一步就是要設置 Go 的環境。

需要設置的 Go 的環境變量,一共有三個。

  • GOROOT Go 語言的源碼以及安裝目錄。

  • GOPATH Go 語言的開發目錄,目錄可以有多個,但是,當我們執行 go get 命令的時候,如未指定目錄,會默認保存在第一個目錄下。

  • GOROOT_BOOTSTRAP 這個目錄在安裝 Go 1.5 版本及之後的版本時需要設置。由於在 1.4 版本後,Go 編譯器實現了自舉,即通過 1.4 版本來編譯安裝之後版本的編譯器。如果不設置該環境變量的話,會產生這樣一個錯誤 Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4

除此之外,還需要配置 PATH 環境變量到 Go 的二進制程序目錄。

我們需要在~/etc/profile 中添加下面的代碼:

export GOPATH=$Home/GoProject
export GOROOT=/usr/local/go
export GPARCH="386"
export GOOS="linux"                      
export GOBIN=$GOROOT/bin/
export GOTOOLS=$GOROOT/pkg/tool
export PATH=$PATH:$GOBIN:$GOTOOLS
export GOROOT_BOOTSTRAP=/home/username/.golang/go1.4

重新加載 profile 文件,加載環境變量到內存

source /etc/profile

2 安裝 Go

方法1:

我們有兩種方式下載 Go,一個是直接下載源碼,另一個是通過 GitHub 克隆項目,個人推薦選擇第二種,地址:GayHub

首先將項目克隆到本地。

$ git clone https://github.com/golang/go.git ~/.golang/go

然後再複製一份作爲 1.4 版本的目錄。

$ cp -r go go1.4

進入 1.4 的文件夾後,將切換分支開始安裝。

$ git checkout -b release-branch.go1.4 origin/release-branch.go1.4
$ cd go1.4/src
$ ./make.bash

編譯安裝好之後,進入之前的 go 文件夾,真正開始編譯安裝 Go。

$ cd go/src
$ ./make.bash

最後,我們試試 go version 來查看版本,可能會發現很奇怪的東西。

$ go version
go version devel +d64c49098c Sun May 28 10:23:38 2017 +0000 darwin/amd64

這是我們編譯了 HEAD 的版本,也就是最新提交的版本,這個版本並不穩定。我們可以將分之切換到穩定版本來進行安裝。截止到這篇文章,Go 的最新穩定版本時 1.8.3。所以我們要講分支切換到 release-branch.go1.8

方法2:(親測) 注意root權限問題(沒有權限在執行命令之前加sudo)

首先去官網下載go的安裝包,這裏用的是:go1.13.3.linux-amd64.tar.gz

1)  選擇安裝路徑

由於默認的go路徑,在/usr/local下, 所以用如下命令,解壓創建/usr/local/go
tar -C /usr/local -xzf go1.13.3.linux-amd64.tar.gz

2)環境變量的設置

vim ~/etc/profile

將下列語句添加進去

export GOPATH=$Home/GoProject
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin/              #可選
export GOTOOLS=$GOROOT/pkg/tool        #可選
export PATH=$PATH:$GOBIN:$GOTOOLS      #可選 如果不添加GOBIN 需要PATH=$PATH:$GOROOT/bin
export GOROOT_BOOTSTRAP=/home/luzhang/.golang/go1.4

如果是隻讀文件,使用su root 改成超級權限,在進行編輯保存。

3)安裝go

cd 進入 go/src 目錄,執行 ./all.bash 命令來安裝go

這時候就會提示

Building Go cmd/dist using /home/用戶名/go1.4.
ERROR: Cannot find /home/用戶名/go1.4/bin/go.
Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.

此時根據方法1,首先將項目克隆到本地 ==>再複製一份作爲 1.4 版本的目錄==>進入 1.4 的文件夾後,將切換分支開始安裝==>編譯安裝好之後,進入之前的 go 文件夾,真正開始編譯安裝 Go==>最後,用 go version 來查看版本

出現 go version go1.13.3 linux/amd64 就代表安裝成功了。

3 完整命令

方法1完成命令

$ echo "export GOROOT=$HOME/.golang/go" >> ~/.bash_profile
$ echo "export GOPATH=$HOME/.golang/path" >> ~/.bash_profile
$ echo "export PATH=$PATH:$HOME/.golang/go/bin" >> ~/.bash_profile
$ echo "export GOROOT_BOOTSTRAP=$HOME/.golang/go1.4" >> ~/.bash_profile
$ source ~/.bash_profile
$ cd ~
$ mkdir .golang
$ git clone https://github.com/golang/go.git go
$ cp -r go go1.4
$ cd go1.4
$ git checkout -b release-branch.go1.4 origin/release-branch.go1.4
$ cd src
$ ./make.bash
$ cd ../../go
$ git checkout -b release-branch.go1.8 origin/release-branch.go1.8
$ cd src
$ ./make.bash
$ go version

方法2完整命令

$ cd /usr/local 
#將提前下載好的golang資源包放到usr/local下並用下面的命令解壓
$ sudo tar -C /usr/local -xzf go1.13.3.linux-amd64.tar.gz
$ cd go/src
$ sudo ./all.bash #執行後將會報Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4的錯
$ git clone https://github.com/golang/go.git ~/.golang/go #會clone到home/用戶名/.goland/go
$ sudo cp -r go /home/用戶名/go1.4
$ cd /home/用戶名/go1.4/src
$ sudo ./make.bash  #也可以執行./all.bash即可等待編譯完成 ALL TESTS PASSED字樣表示編譯安裝OK
$ go version #出現正確版本號即表示正確安裝

參考網址

https://studygolang.com/articles/2864

https://segmentfault.com/a/1190000009594143

https://blog.csdn.net/qq_15437667/article/details/59776840

https://blog.csdn.net/code_segment/article/details/78195630

https://blog.csdn.net/biggoodloong/article/details/81239981

https://www.cnblogs.com/tinywan/p/6928300.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章