[翻譯]Go 環境設定

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

在最近的 weekly 版本中,golang 已經將大多數操作整合到了 go 這一個工具。並且環境變數的設定也發生了變化。不過蛋疼的是,如果不理解 GOPATH 的真正用法,只會讓你蛋碎一地。

最常見的錯誤:

can't load package: .: path "/pla/pla/pla" not inside a GOPATH

這篇文章,簡短、清晰的解釋了新的 go 環境應當如何設定。

作者 Frank Müller,原文在此:http://mue.tideland.biz/2012/02/go-environment-setup.html?spref=tw

—————-翻譯分隔線—————-

Go 環境設定

對於 Go 環境來說,最好的開始就是設定一個所有目錄存放的根目錄,例如 /home/themue/projects。它將是 Go SDK、第三方包和自有項目的家目錄。當前的 weekly 版本可使用命令將 Go 安裝到 hg clone -u weekly https://code.google.com/p/go 安裝到 go 目錄。 文檔 http://weekly.golang.org/doc/install.html 對此逐一進行了詳述。另外兩個目錄只能手工建立,別且都分別建立 srcpkg 子目錄。這樣就得到了如下結構

/home/themue/projects        /go                /bin                ...                /test        /own                /pkg                /src        /3rdparty                /pkg                /src

為什麼有第三方目錄?新的 Go 工具採用非常智能的方式將外部包安裝在不同的目錄中。這是基於環境變數 $GOPATH 的。名字已經說明這是一個路徑,而不僅僅是一個目錄。go buildgo install 利用 $GOPATH 尋找軟體需要編譯和連結的關聯包。必須先安裝外部包才能使用。命令 go get 將會在路徑的第一個目錄中安裝原始碼並且編譯包。因此上面例子中,順序應當為

GOPATH=$HOME/projects/3rdparty:$HOME/projects/own

當原始碼安裝位於 …/own/src 的自有包時,它將會被安裝在 …/own/pkg 中。

還有哪個環境變數是必須的?一個是 $GOROOT。它指向了 Go SDK 的根目錄,這裡是 /home/themue/projects/go。編譯後的可執行檔將會安裝在 $GOROOT/bin。不過對於 SDK 會有兩個選擇進行接下來的設定:

  • 二進位檔案存放的位置沒有問題。標準的 $PATH 將指向這一目錄,像這樣 PATH=$PATH:$HOME/projects/go/bin.
  • 另一個辦法就是弄一個存放所有個人可執行檔和指令碼的目錄 $HOME/bin,並且將它設定在 $PATH 中。這樣就可以在安裝 Go 之前設定 GOBIN=$HOME/bin。那麼編譯的 Go 執行檔案就會安裝在 $HOME/bin 中。

在你自己的原始碼目錄裡,可能會需要為了不同的項目用到更多的子目錄。它們命名方式可能依賴於你使用的其他軟體組態管理環境。我的是 code.google.com。因此對於 Tideland Common Go Library(訪問 http://code.google.com/p/tcgl)我將代碼放在
…/own/src/code.google.com/p/tcgl。這個項目包含了若干個包,無論是否在同一個項目中,都可以通過 code.google.com/p/tcgl/foo 的方式匯入。更重要的是,使用My Code的人可以更加容易的瞭解到如何將其作為第三方包擷取和匯入。

相關文章

聯繫我們

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