轉(zhuǎn) 2.3 在 Linux 上安裝 Go

如果你能夠自己下載并編譯 Go 的源代碼來(lái)說(shuō)是非常有教育意義的,你可以根據(jù)這個(gè)頁(yè)面找到安裝指南和下載地址:Download the Go distribution碳竟。

我們接下來(lái)也會(huì)帶你一步步的完成安裝過(guò)程王暗。

設(shè)置 Go 環(huán)境變量

我們?cè)?Linux 系統(tǒng)下一般通過(guò)文件?$HOME/.bashrc?配置自定義環(huán)境變量兢孝,根據(jù)不同的發(fā)行版也可能是文件?$HOME/.profile疾渴,然后使用 gedit 或 vi 來(lái)編輯文件內(nèi)容集惋。

export GOROOT=$HOME/go

為了確保相關(guān)文件在文件系統(tǒng)的任何地方都能被調(diào)用,你還需要添加以下內(nèi)容:

export PATH=$PATH:$GOROOT/bin

在開(kāi)發(fā) Go 項(xiàng)目時(shí)竞思,你還需要一個(gè)環(huán)境變量來(lái)保存你的工作目錄桌粉。

export GOPATH=$HOME/Applications/Go

$GOPATH?可以包含多個(gè)工作目錄,取決于你的個(gè)人情況衙四。如果你設(shè)置了多個(gè)工作目錄铃肯,那么當(dāng)你在之后使用?go get(遠(yuǎn)程包安裝命令)時(shí)遠(yuǎn)程包將會(huì)被安裝在第一個(gè)目錄下。

在完成這些設(shè)置后传蹈,你需要在終端輸入指令?source .bashrc?以使這些環(huán)境變量生效押逼。然后重啟終端,輸入?go env?和?env?來(lái)檢查環(huán)境變量是否設(shè)置正確惦界。

安裝 C 工具

Go 的工具鏈?zhǔn)怯?C 語(yǔ)言編寫(xiě)的挑格,因此在安裝 Go 之前你需要先安裝相關(guān)的 C 工具。如果你使用的是 Ubuntu 的話(huà)沾歪,你可以在終端輸入以下指令(?譯者注:由于網(wǎng)絡(luò)環(huán)境的特殊性漂彤,你可能需要將每個(gè)工具分開(kāi)安裝?)。

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

你可以在其它發(fā)行版上使用 RPM 之類(lèi)的工具灾搏。

獲取 Go 源代碼

從?官方頁(yè)面?或?國(guó)內(nèi)鏡像?下載 Go 的源碼包到你的計(jì)算機(jī)上挫望,然后將解壓后的目錄?go?通過(guò)命令移動(dòng)到?$GOROOT?所指向的位置。

wget https://storage.googleapis.com/golang/go.src.tar.gz

tar -zxvf go.src.tar.gz

sudo mv go $GOROOT

構(gòu)建 Go

在終端使用以下指令來(lái)進(jìn)行編譯工作狂窑。

cd $GOROOT/src

./all.bash

在完成編譯之后(通常在 1 分鐘以?xún)?nèi)媳板,如果你在 B 型樹(shù)莓派上編譯,一般需要 1 個(gè)小時(shí))泉哈,你會(huì)在終端看到如下信息被打域刃摇:

圖 2.3 完成編譯后在終端打印的信息

注意事項(xiàng)

在測(cè)試?net/http?包時(shí)有一個(gè)測(cè)試會(huì)嘗試連接?google.com,你可能會(huì)看到如下所示的一個(gè)無(wú)厘頭的錯(cuò)誤報(bào)告:

‘make[2]: Leaving directory `/localusr/go/src/pkg/net’

如果你正在使用一個(gè)帶有防火墻的機(jī)器丛晦,我建議你可以在編譯過(guò)程中暫時(shí)關(guān)閉防火墻奕纫,以避免不必要的錯(cuò)誤。

解決這個(gè)問(wèn)題的另一個(gè)辦法是通過(guò)設(shè)置環(huán)境變量?$DISABLE_NET_TESTS?來(lái)告訴構(gòu)建工具忽略?net/http?包的相關(guān)測(cè)試:

export DISABLE_NET_TESTS=1

如果你完全不想運(yùn)行包的測(cè)試烫沙,你可以直接運(yùn)行?./make.bash?來(lái)進(jìn)行單純的構(gòu)建過(guò)程匹层。

測(cè)試安裝

使用你最喜愛(ài)的編輯器來(lái)輸入以下內(nèi)容,并保存為文件名?test.go斧吐。

示例 2.1?hello_world1.go

packagemainfuncmain() {println("Hello","world")}

切換相關(guān)目錄到下又固,然后執(zhí)行指令?go run hello_world1.go仲器,將會(huì)打印信息:Hello, world煤率。

驗(yàn)證安裝版本

你可以通過(guò)在終端輸入指令?go version?來(lái)打印 Go 的版本信息。

如果你想要通過(guò) Go 代碼在運(yùn)行時(shí)檢測(cè)版本乏冀,可以通過(guò)以下例子實(shí)現(xiàn)蝶糯。

示例 2.2?version.go

packagemainimport("fmt""runtime")funcmain() {fmt.Printf("%s", runtime.Version())}

這段代碼將會(huì)輸出?go1.4.2?或類(lèi)似字符串。

更新版本

你可以在?發(fā)布?xì)v史?頁(yè)面查看到最新的穩(wěn)定版辆沦。

當(dāng)前最新的穩(wěn)定版 Go 1 系列于 2012 年 3 月 28 日發(fā)布昼捍。

Go 的源代碼有以下三個(gè)分支:

- Go release:最新穩(wěn)定版识虚,實(shí)際開(kāi)發(fā)最佳選擇

- Go weekly:包含最近更新的版本,一般每周更新一次

- Go tip:永遠(yuǎn)保持最新的版本妒茬,相當(dāng)于內(nèi)測(cè)版

當(dāng)你在使用不同的版本時(shí)担锤,注意官方博客發(fā)布的信息,因?yàn)槟闼殚喌奈臋n可能和你正在使用的版本不相符乍钻。

https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/02.3.md

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肛循,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子银择,更是在濱河造成了極大的恐慌多糠,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浩考,死亡現(xiàn)場(chǎng)離奇詭異夹孔,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)析孽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)搭伤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人袜瞬,你說(shuō)我怎么就攤上這事闷畸。” “怎么了吞滞?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵佑菩,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我裁赠,道長(zhǎng)殿漠,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任佩捞,我火速辦了婚禮绞幌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘一忱。我一直安慰自己莲蜘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布帘营。 她就那樣靜靜地躺著票渠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪芬迄。 梳的紋絲不亂的頭發(fā)上问顷,一...
    開(kāi)封第一講書(shū)人閱讀 51,292評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼杜窄。 笑死肠骆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的塞耕。 我是一名探鬼主播蚀腿,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼扫外!你這毒婦竟也來(lái)了唯咬?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤畏浆,失蹤者是張志新(化名)和其女友劉穎胆胰,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體刻获,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蜀涨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蝎毡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厚柳。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖沐兵,靈堂內(nèi)的尸體忽然破棺而出别垮,到底是詐尸還是另有隱情,我是刑警寧澤扎谎,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布碳想,位于F島的核電站,受9級(jí)特大地震影響毁靶,放射性物質(zhì)發(fā)生泄漏胧奔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一预吆、第九天 我趴在偏房一處隱蔽的房頂上張望龙填。 院中可真熱鬧,春花似錦拐叉、人聲如沸岩遗。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)宿礁。三九已至,卻和暖如春廷粒,著一層夾襖步出監(jiān)牢的瞬間窘拯,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工坝茎, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留涤姊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓嗤放,卻偏偏與公主長(zhǎng)得像思喊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子次酌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 申金鑫 17101223365 轉(zhuǎn)載自公眾號(hào)flysnow_org 【嵌牛導(dǎo)讀】:本文介紹了各種系統(tǒng)下的Go語(yǔ)言環(huán)...
    Felixxin閱讀 3,380評(píng)論 0 20
  • 1. 分布式系統(tǒng)核心問(wèn)題 參考書(shū)籍:《區(qū)塊鏈原理恨课、設(shè)計(jì)與應(yīng)用》 一致性問(wèn)題例子:兩個(gè)不同的電影院買(mǎi)同一種電影票,如...
    molscar閱讀 910評(píng)論 0 0
  • linux資料總章2.1 1.0寫(xiě)的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,161評(píng)論 2 33
  • 十八歲以來(lái)岳服,很長(zhǎng)一段時(shí)間都在思考剂公,怎樣才是一種正確的生活方式。我盡力去按照著吊宋,我認(rèn)為的正確的方式去生活纲辽。 高三,高...
    昵稱(chēng)我想不出來(lái)閱讀 233評(píng)論 0 0
  • 最近看了《微交互》感覺(jué)受益匪淺璃搜,原來(lái)設(shè)計(jì)無(wú)處不在無(wú)微不至拖吼,所以按照書(shū)中的思路分析了一個(gè)身邊的產(chǎn)品,并試著提出一些優(yōu)...
    gothicat閱讀 1,041評(píng)論 0 1