Golang的安裝

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

做為營運人員,使用python語言足矣,理論上是無需瞭解golang的。不過最近發現一個新潮的監控系統都是基於golang進行開發的,如小米公司的Open-Falcon(github項目頁) 、stack exchange 公司的Bosun (github項目頁)。

一、Go的三種安裝方式

Go有多種安裝方式,你可以選擇自己喜歡的。這裡我們介紹三種最常見的安裝方式:

  • Go源碼安裝:這是一種標準的軟體安裝方式。對於經常使用Unix類系統的使用者,尤其對於開發人員來說,從源碼安裝可以自己定製。

  • Go標準包安裝:Go提供了方便的安裝包,支援Windows、Linux、Mac等系統。這種方式適合快速安裝,可根據自己的系統位元下載好相應的安裝包,一路next就可以輕鬆安裝了。推薦這種方式

  • 第三方工具安裝:目前有很多方便的第三方軟體包工具,例如Ubuntu的apt-get、Mac的homebrew等。這種安裝方式適合那些熟悉相應系統的使用者。

最後,如果你想在同一個系統中安裝多個版本的Go,你可以參考第三方工具GVM,這是目前在這方面做得最好的工具,除非你知道怎麼處理。

二、Go源碼安裝

在Go的原始碼中,有些部分是用Plan 9 C和AT&T彙編寫的,因此假如你要想從源碼安裝,就必須安裝C的編譯工具。

在Mac系統中,只要你安裝了Xcode,就已經包含了相應的編譯工具。

在類Unix系統中,需要安裝gcc等工具。例如Ubuntu系統可通過在終端中執行sudo apt-get install gcc libc6-dev來安裝編譯工具。

在Windows系統中,你需要安裝MinGW,然後通過MinGW安裝gcc,並設定相應的環境變數。

由於本人平時主要涉及到linux平台下的使用,所以這裡只以linux平台為例,不涉及mac 和win下的安裝。

1、Go 原始碼下載

從 官方頁面 、 國內鏡像 或github上下載 Go 的源碼包到你的電腦上,然後將解壓後的目錄go通1過命令移動到$GOROOT所指向的位置。

#本人設定$GOROOT為/usr/local/goexport $GOROOT=/usr/local/gowget https://storage.googleapis.com/golang/go<VERSION>.src.tar.gztar zxv go<VERSION>.src.tar.gzmv go $GOROOT

2、安裝gcc等編譯工具

sudo apt-get install bison ed gawk gcc libc6-dev make或yum gcc mak gawk

根據不同的發行版,自行選擇相應的編譯環境包安裝的方式。

3、編譯

cd $GOROOT/src./all.bash

4、環境變數配置

export GOROOT=/usr/local/goexport PATH=$PATH:$GOROOT/bin或者使用如下:export PATH=$PATH:/usr/local/go/bin

根據需要可以在.bashrc、.profile、/etc/profile等任一檔案中配置相應的環境變數。

5、測試

直接運行go命令,出現如下部分,表示環境已經安裝好。

[root@361way ~]# goGo is a tool for managing Go source code.Usage:        go command [arguments]The commands are:    build       compile packages and dependencies    clean       remove object files    env         print Go environment information    fix         run go tool fix on packages    fmt         run gofmt on package sources    generate    generate Go files by processing source    get         download and install packages and dependencies    install     compile and install packages and dependencies    list        list packages    run         compile and run Go program    test        test packages    tool        run specified go tool    version     print Go version    vet         run go tool vet on packagesUse "go help [command]" for more information about a command.Additional help topics:    c           calling between Go and C    filetype    file types    gopath      GOPATH environment variable    importpath  import path syntax    packages    description of package lists    testflag    description of testing flags    testfunc    description of testing functionsUse "go help [topic]" for more information about that topic.

三、go標準包安裝

通過官方下的壓縮包下載來看,標準包裡包含原始碼,不過區別的是其解包後已經有相應的bin目錄存在,裡面有已經編譯好的golang二進位包。可以直接使用上面第4部的操作配置環境變數後生效。

四、第三方工具安裝

1、centos平台下

需使用第三方源epel ,如下:

yum -y install golang

2、ubuntu平台下

sudo apt-get install python-software-propertiessudo add-apt-repository ppa:gophers/gosudo apt-get updatesudo apt-get install golang-stable git-core mercurial

3、mac平台下

brew update && brew upgradebrew install gobrew install gitbrew install mercurial

五、GVM工具

GVM是一個golang虛擬環境組態工具,其允許一台機器上安裝多個golang版本,gvm是第三方開發的Go多版本管理工具,類似ruby裡面的rvm工具。使用起來相當的方便,安裝gvm使用如下命令:

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

安裝完成後我們就可以安裝go了:

gvm install go1.4.2gvm use go1.4.2

也可以使用下面的命令,省去每次調用gvm use的麻煩:
gvm use go1.4.2 --default 執行完上面的命令之後GOPATH、GOROOT等環境變數會自動化佈建好,這樣就可以直接使用了。

六、Go 環境變數

Go 開發環境依賴於一些作業系統環境變數,你最好在安裝 Go 之間就已經設定好他們。如果你使用的是 Windows 的話,你完全不用進行手動設定,Go 將被預設安裝在目錄c:/go下。這裡列舉幾個最為重要的環境變數:

  • $GOROOT 表示 Go 在你的電腦上的安裝位置,它的值一般都是$HOME/go,當然,你也可以安裝在別的地方。

  • $GOARCH 表示目標機器的處理器架構,它的值可以是 386、amd64 或 arm。

  • $GOOS 表示目標機器的作業系統,它的值可以是 darwin、freebsd、linux 或 windows。

  • $GOBIN 表示編譯器和連結器的安裝位置,預設是$GOROOT/bin,如果你使用的是 Go 1.0.3 及以後的版本,一般情況下你可以將它的值設定為空白,Go 將會使用前面提到的預設值。

目標機器是指你打算運行你的 Go 應用程式的機器。

Go 編譯器支援交叉編譯,也就是說你可以在一台機器上構建運行在具有不同作業系統和處理器架構上啟動並執行應用程式,也就是說編寫原始碼的機器可以和目標機器有完全不同的特性(作業系統與處理器架構)。

為了區分本地機器和目標機器,你可以使用$GOHOSTOS和$GOHOSTARCH設定目標機器的參數,這兩個變數只有在進行交叉編譯的時候才會用到,如果你不進行顯示設定,他們的值會和本地機器($GOOS和$GOARCH)一樣。

  • $GOPATH 預設採用和$GOROOT一樣的值,但從 Go 1.1 版本開始,你必須修改為其它路徑。它可以包含多個包含 Go 語言源碼檔案、包檔案和可執行檔的路徑,而這些路徑下又必須分別包含三個規定的目錄:src、pkg和bin,這三個目錄分別用於存放源碼檔案、包檔案和可執行檔。

  • $GOARM 專門針對基於 arm 架構的處理器,它的值可以是 5 或 6,預設為 6。

  • $GOMAXPROCS 用於設定應用程式可使用的處理器個數與核心數,詳見第 14.1.3 節。

在接下來的章節中,我們將會討論如何在 Linux、Mac OS X 和 Windows 上安裝 Go 語言。在 FreeBSD 上的安裝和
Linux 非常類似。Team Dev正在嘗試將 Go 語言移植到其它例如 OpenBSD、DragonFlyBSD、NetBSD、Plan
9、Haiku 和 Solaris 作業系統上,你可以在這個頁面找到最近的動態:Go Porting Efforts。

主機環境使用樣本:

export GOARCH=amd64export GOOS=linux

七、hello word

建立一個hello.go檔案,內容如下:

package mainimport "fmt"func main() {    fmt.Printf("hello, world\n")}

運行結果如下:

# go run hello.gohello, world


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.