1.前幾天在centos5.6下部署golang環境。在執行./all.bash指令碼的時候碰到問題。當時我也沒怎麼在意。就忽略了,繼續後面的操作。做完了所有的操作,蛋疼的發現,這些都是無用功。環境還是沒裝上。
2.當時找不出原因。就擱置了幾天。今天重新部署下。順便找了下那天報錯的那個原因。才發現,原來是那個報錯資訊導致了後面的操作都是無效的。
3.報錯資訊是:
./make.bash:line141:29239Segmentationfault“$GOTOOLDIR”/go_bootstrapclean-istd
4.找了很久的資料。爬了不少站。官網的資料都是英文的,蛋疼的一個也看不懂。無一種在某論壇上看到一樣的報錯資訊。
5.原來是centos5.6的核心版本太低所致。升級下核心就好。得益於前一篇文檔順利解決核心升級不能啟動的原因。golang環境成功部署。
6.升級完核心後按照下面步驟成功部署完golang環境
安裝Mercurial
在進行後面的操作之前需要安裝Mercurial版本管理系統(可以輸出hg名詞檢測是否安裝)。輸入以下命令安裝:
$ yum install mercurial
擷取代碼
以下命令會建立一個go目錄。切換到相應目錄,並且確保當前位置不存在go目錄,運行命令:
$ hg clone -r release https://go.googlecode.com/hg/ go
安裝Go
編譯go環境:
$ cd go /src
$ ./all.bash 編譯完成後,結尾會列印以下資訊。 Installed Go for linux/amd64 in /home/you/go. Installed commands in /home/you/go/bin. *** You need to add /home/you/go/bin to your $PATH. ***
設定$PATH
$ cd /etc/profile.d/
$ vi go.sh
export GOROOT=/home/you/go
export GOBIN=$GOROOT/bin export GOARCH=amd64 export GOOS=linux export PATH=.:$PATH:$GOBIN $ . ./go.sh 編寫程式
以hello.go代碼為例,用以下命令編譯:
package main
import "fmt"
func main(){
fmt.Printf("hello world\n")
}
$ go build hello.go
運行程式: $ ./hello
關於 如何管理編譯go項目需參閱https://golang.org/doc/code.html