linux go環境安裝

來源:互聯網
上載者:User

linux go環境安裝
方法一
這次將源碼包安裝的目錄是是/root下。

1、官網下載源碼包。

官網連結:https://golang.org/dl/。ps:本人的是linux伺服器,所以選擇紅框標註的

wget https://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz

2、解壓安裝

tar -zxvf go1.9.2.linux-amd64.tar.gz

mkdir -p workspace/src

vim ~/.bashrc

export GOROOT=$HOME/goexport GOPATH=$HOME/workspaceexport PATH=$GOROOT/bin:$GOPATH/bin:$PATH

source ~./bashrc

3.檢驗是否安裝成功

方法二

安裝go工具
在 http://golang.org/dl/下載最新的linux版本,並把它提取到/usr/local目錄,在此目錄下進行解壓縮

$ tar -xvf xxx.tar.gz
然後將/usr/local/go/bin添加到PATH環境變數中,執行
$ export PATH=$PATH:/usr/local/go/bin

實際上go會預設假定它被安裝到/usr/local/go目錄下,但也可以將go安裝到其他位置,此時必須設定GOROOT環境變數來指出它所安裝的位置。
例如將go安裝到你的home目錄下,你應當將以下命令添加到$HOME/.profile檔案中

$ export GOROOT=$HOME/go
$ export PATH=$PATH:$GOROOT/bin

執行go version,看到go的安裝版本即安裝成功

你的第一個程式
GOPATH環境變數
GOPATH環境變數指定了你的工作空間位置

首先建立一個工作目錄,並設定相應的GOPATH,工作目錄可以放在任何地方,但不能和go的安裝目錄相同,在這我們使用$HOME/work

$ mkdir $HOME/work
$ export GOPATH=$HOME/work

注意:go的代碼必須放在工作空間內,也就是我們這裡的work目錄下,其中包含了三個子目錄

bin目錄包含可執行命令

pkg目錄包含包對象

src目錄包含go的源檔案,它們被組織成包(每個目錄都對應一個包)

接下來將工作空間的bin子目錄添加到PATH中:

[html] view plain copy
$ export PATH=$PATH:$GOPATH/bin
包路徑
標準庫中的包有給定的短路徑比如"fmt",對於你自己的包,也必須選擇一個基本路徑,來保證它不會與將來添加到標準庫或其他標準庫中的包相衝突。

使用packs作為基本路徑,在你的工作空間裡建立一個目錄,我們將源碼放在其中:

$ mkdir $GOPATH/src/packs

你的第一個程式
要編譯運行簡單的程式,首先要選擇包路徑,在這裡我們使用packs/hello,並在你的工作空間內建立相應的包目錄

$ mkdir $GOPATH/src/packs/hello

接著在該目錄中建立名為hello.go的檔案,其內容如下
package main

import "fmt"

func main() {
fmt.Printf("Hello, world.\n")
}

現在可以使用go工具構建並安裝此程式了
$ go install packs/hello

注意,你可以在系統的任何地方運行此命令。go工具會根據GOPATH指定的工作空間,在packs/hello包內尋找源碼。
如果從包目錄中運行go install,也可以省略包路徑:

$ cd $GOPATH/src/packs/hello
$ go install

此命令會構建hello命令,產生一個可執行檔二進位檔案。並存放在工作空間的bin目錄下,在這裡就是$GOPATH/bin目錄下
因為已經將$GOPATH/bin添加到PATH中,只需要輸入該二進位檔案名執行即可

$ hello
Hello, world.

你的第一個庫
讓我們編寫一個庫,並讓hello程式使用它。

同樣,第一步韓式選擇包路徑(在這裡使用packs/stringutil)並建立包目錄:

$ mkdir $GOPATH/src/packs/stringutil
接著,在該目錄中建立名為reverse.go的檔案,內容如下:
// stringutil 包含有用於處理字串的工具函數。
package stringutil

// Reverse 將其實參字串以符文為單位左右反轉。
func Reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}

然後使用go build命令來測試該包的編譯:

$ go build packs/stringutil
即可,這不會產生輸出檔案,想要輸出的話,必須使用go install命令,它會將包的對象放到工作空間的pkg目錄中。
接下來修改原來的hello.go檔案

package main

import (
"fmt"

"github.com/user/stringutil"

)

func main() {
fmt.Printf(stringutil.Reverse("!oG ,olleH"))
}

然後通過
$ go install packs/hello

來安裝hello程式,再運行此程式的新版本,應該能看到一條新的,反向的資訊:
$ hello
Hello, Go!

方法三

聲明 root 使用者登入。
$ vim /etc/profile
開啟/etc/profile後//最後一行插入
export GOROOT=/usr/local/go //這裡我的go解壓後是在/user/local/go
export GOPATH=~/golib:~/goproject
export GOBIN=~/gobin
export PATH=$PATH:$GOROOT/bin:$GOBIN
//然後 按ESC鍵 跳到命令模式,然後儲存退出
:wq //再按確認鍵盤
//輸入下面才會命令生效
$ source /etc/profile //ok
//判斷是否設定成功,不管cd 任何檔案夾下面輸入
$ go version

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.