Golang的安裝

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

1、Go的三種安裝方式

Go有多種安裝方式,你能夠選擇本身喜歡的。這裏咱們介紹三種最多見的安裝方式:python

  • Go源碼安裝:這是一種標準的軟件安裝方式。對於常用Unix類系統的用戶,尤爲對於開發者來講,從源碼安裝能夠本身定製。linux

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

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

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

2、Go源碼安裝

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

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

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

在Windows系統中,你須要安裝MinGW,而後經過MinGW安裝gcc,並設置相應的環境變量。centos

因爲本人平時主要涉及到linux平臺下的使用,因此這裏只以linux平臺爲例,不涉及mac 和win下的安裝。

一、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

二、安裝gcc等編譯工具

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

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

三、編譯

cd $GOROOT/src./all.bash

四、環境變量配置

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

根據須要能夠在.bashrc、.profile、/etc/profile等任一文件中配置相應的環境變量。

五、測試

直接運行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.

3、go標準包安裝

經過官方下的壓縮包下載來看,標準包裏包含源代碼,不過區別的是其解包後已經有相應的bin目錄存在,裏面有已經編譯好的golang二進制包。能夠直接使用上面第4部的操做配置環境變量後生效。

4、第三方工具安裝

一、centos平臺下

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

yum -y install golang

二、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

三、mac平臺下

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

5、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等環境變量會自動設置好,這樣就能夠直接使用了。

6、Go 環境變量

Go 開發環境依賴於一些操做系統環境變量,你最好在安裝 Go 之間就已經設置好他們。若是你使用的是 Windows 的話,你徹底不用進行手動設置,Go 將被默認安裝在目錄c:/go下。這裏列舉幾個最爲重要的環境變量:

  • $GOROOT 表示 Go 在你的電腦上的安裝位置,它的值通常都是$HOME/go,固然,你也能夠安裝在別的地方。

  • $GOARCH 表示目標機器的處理器架構,它的值能夠是 38六、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 很是相似。開發團隊正在嘗試將 Go 語言移植到其它例如 OpenBSD、DragonFlyBSD、NetBSD、Plan
九、Haiku 和 Solaris 操做系統上,你能夠在這個頁面找到最近的動態:Go Porting Efforts

主機環境使用示例:

export GOARCH=amd64export GOOS=linux

7、hello word

建立一個hello.go文件,內容以下:

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

運行結果以下:

# go run hello.gohello, world
相關文章
相關標籤/搜索