Linux(Ubuntu)下設定golang環境變數
1).原始碼安裝go語言
Go的工具鏈採用C語言編寫,要構建它,你需要安裝一個C編譯器,本例採用gcc工具; 進入linux 終端,輸入命令列
sudo apt-get install build-essential
Go使用Mercurial進行版本管理,首先你必須安裝了Mercurial,對於 Ubuntu/Debian 系統先安裝easy_install;
sudo apt-get install mercurial
出現Processing triggers for python-support...需先安裝python環境 執行
sudo apt-get install python-setuptools python-dev
sudo easy_install mercurial
如果 還不行,那直接下載Mercurial安裝
獲取GO程式碼
hg clone -r release https://go.googlecode.com/hg/ $GOROOT
安裝Go:
cd $GOROOT/src
./all.bash
如果 還不行,那直接下載編譯好的程式碼安裝 解壓 go包放使用者根目錄下
sudo tar zxvf ~/Downloads/go1.0.3.linux-386.tar.gz -C /opt
2).設定環境變數,在/etc/profile檔案同新增以下內容
sudo gedit /etc/profile
export GOROOT=$HOME/go
export GOBIN=$GOROOT/bin
export GOARCH=386
export GOOS=linux
export GOPATH=$HOME/workspacego
export PATH=.:$PATH:$GOBIN
GOARCH、GOOS為可選配置,交叉編譯時有用 GOPATH設定工作空間,允許多個目錄,當有多個目錄時,用分隔符分隔,當有多個GOPATH時,預設會將go get的內容放在第一個目錄下;
$GOPATH 目錄約定有三個子目錄:
src 存放原始碼(比如:.go .c .h .s等)
pkg 編譯後生成的檔案(比如:.a)
bin 編譯後生成的可執行檔案(為了方便,可以把此目錄加入到 $PATH 變數中)
應用剛剛配置的環境變數:source /etc/profile
上面的配置是針對系統級別的,建議採用使用者級別的配置如下:
如果使用者根目錄下不存在.bash_profile,則
cat > .bash_profile
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/workspacego
CTRL_D(這是按 CTRL - D兩個鍵同時)
每次啟動系統應用
. ./.bash_profile
官方建議把配置記錄在使用者在~/.bashrc或者 ~/.profile中,這樣 登陸就可以使用go 而不用,每次登陸系統都要執行. ./.bash_profile
配置檔案的區別,請參閱後面的附錄
3).檢視go是否是release版
hg identify
更新go到新版本
cd $GOROOT
hg pull
hg update release
./all.bash
4).瀏覽本地doc
在命令列執行
godoc -http=:8080
在瀏覽器地址輸入:http://127.0.0.1:8080,即可進入doc介面
5).搭建基於瀏覽器的互動式Go程式設計指南-gotour
5.1).安裝Go語言英文教程:
sudo go get code.google.com/p/go-tour/gotour
5.2).安裝Go語言中文教程:
sudo go get bitbucket.org/mikespook/go-tour-zh/gotour
在命令列執行gotour,在瀏覽器地址輸入:http://127.0.0.1:3999,即可進入教程的學習介面。
附錄
參考:http://blog.csdn.net/wumingxing0228/article/details/6050175
環境變數是和Shell緊密相關的,使用者登入系統後就啟動了一個Shell。對於Linux來說一般是bash,但也可以重新設定或切換到其它的 Shell。對於UNIX,可能是CShelll。環境變數是通過Shell命令來設定的,設定好的環境變數又可以被所有當前使用者所執行的程式所使用。對於bash這個Shell程式來說,可以通過變數名來訪問相應的環境變數,通過export來設定環境變數。下面通過幾個例項來說明。
1)etc/profile:此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行. 並從/etc/profile.d目錄的配置檔案中搜集shell的設定. 注:在這裡我們設定是為所有使用者可使用的全域性變數。
2)/etc/bashrc:為每一個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.
3)~/.bashprofile:每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案. 注:~在LINUX下面是代表HOME這個變數的。 另外在不同的LINUX作業系統下,這個檔案可能是不同的,可能是~/.bashprofile; ~/.bash_login或 ~/.profile其中的一種或幾種,如果存在幾種的話,那麼執行的順序便是:~/.bashprofile、 ~/.bashlogin、 ~/.profile。比如我用的是Ubuntu,我的使用者資料夾下預設的就只有~/.profile檔案。
4)~/.bashrc:該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該檔案被讀取. (注:這個檔案是 .開頭的,所以在資料夾中被隱藏了) 那麼我們如何新增自己定義的環境變數呢? 用記事本開啟這個檔案,然後在裡面最後寫上: xiaokang=kangkang 然後儲存,這樣每次開啟一個新的terminal的時候,我們這個變數就生效了。記住,如果你已經開啟一個terminal,然後你修改了這個檔案,那麼在這個terminal下是不會生效的。一般情況使用者最好在這裡進行修改,但是有時候會覆蓋父級的變數,比如PATH是ROOT設定的,但是如果你在這個檔案裡面寫了PATH=xx,那麼將來所有的PATH都成了xx了,所以我們應該在這個檔案中寫為: PATH=$PATH:xx 這樣就把原來的和你自己的一起加上了。而且注意在LINUX系統下用:分割表示並列,而不是windo的; 3和4都是在使用者目錄下的,他們唯一的不同是: .bash_profile只能在登入的時候啟動一次。在我的Ubuntu裡面這個3檔案似乎沒有。
5)~/.bash_logout:當每次退出系統(退出bash shell)時,執行該檔案. 另外,/etc/profile中設定的變數(全域性)的可以作用於任何使用者,而~/.bashrc等中設定的變數(區域性)只能繼承/etc/profile中的變數,他們是/"父子/"關係.
~/.bash_profile 是互動式、login 方式進入 bash 執行的 ~/.bashrc 是互動式 non-login 方式進入 bash 執行的 通常二者設定大致相同,所以通常前者會呼叫後者。
好的,總結一下他們的執行方式: 當你登入並且登入shell是bash時,bash首先執行/etc/profile檔案中的命令(如果該檔案存在),然後它順序尋找~ /.bashprofile,~/.bashlogin或~/.profile檔案,並執行找到的第一個可讀檔案中的命令.當登入bash退出時,它 將執行~/.bashlogout檔案中的命令. 當啟動一個互動的bash時,它將執行~/.bashrc檔案中的命令(如果該檔案存在並且可讀).當非互動地啟動以執行一個shell指令碼時,bash將查詢bashenv環境變數,確定執行檔案的名稱.
相關文章
- linux下oracle設定環境變數LinuxOracle變數
- Golang環境變數設定詳解Golang變數
- linux下的java環境變數設定LinuxJava變數
- Linux設定環境變數Linux變數
- Linux 環境變數設定Linux變數
- ubuntu-設定系統環境變數Ubuntu變數
- Linux下環境變數設定、檢視、刪除Linux變數
- ubuntu下golang環境配置UbuntuGolang
- 設定環境變數變數
- linux系統設定環境變數Linux變數
- linux環境變數設定區別Linux變數
- Jtti:ubuntu中怎麼設定qt環境變數JttiUbuntuQT變數
- export 設定環境變數Export變數
- oracle環境變數設定Oracle變數
- CentOS環境變數設定CentOS變數
- redhatas 設定環境變數Redhat變數
- rman 設定環境變數變數
- JAVA環境變數設定Java變數
- 設定環境變數(轉)變數
- Linux字符集環境變數設定Linux變數
- GOLANG環境設定Golang
- ubuntu JDK 環境變數UbuntuJDK變數
- linux叉編譯工具環境變數設定Linux編譯變數
- Linux 環境變數的設定、檢視方法Linux變數
- c#環境變數設定C#變數
- XMLBeans 環境變數設定XMLBean變數
- java JDK環境變數設定JavaJDK變數
- RMAN環境變數的設定變數
- java jdk 設定環境變數JavaJDK變數
- ansible 設定環境變數變數
- ansible設定環境變數變數
- 在Linux中,什麼是環境變數?如何設定和檢視環境變數?Linux變數
- JAVA下載安裝及設定環境變數Java變數
- Windows下JAVA環境變數的設定祥解WindowsJava變數
- ubuntu 刪除環境變數Ubuntu變數
- ubuntu 配置java環境變數UbuntuJava變數
- 什麼是環境變數?Python中如何設定環境變數?變數Python
- 設定Ubuntu中文環境Ubuntu