2012-09-20 204 views
8

在本地目錄中安裝軟件包(使用go get...)的最佳做法是什麼?golang:將軟件包安裝在本地目錄中

例如:我想嘗試Revel網絡框架,但我不想讓我的安裝在/usr/local/go混亂。

通常我會說sudo go get github.com/robfig/revel寫在主頁上,但它會安裝在/usr/local/go/src/pkg/...下面。

有沒有簡單的方法來說(例如)go get --local ...並且在當前(子)目錄中有包?

+0

很難選擇接受哪個答案。目前我只用'GOPATH'玩過,所以@ keks的答案是我選擇的答案,但這可能會在未來發生變化:) – topskip

回答

8

您可以導出env變量GOPATH。對我而言,它是。這個文件夾有子文件夾bin,pkgsrc,所以它就像/usr/local/go。然後go-tool會自動下載,編譯和安裝軟件包到這個目錄中。

16

要擴大keks回答,您可以更新你的.bashrc,看起來像這樣

export GOROOT=/usr/local/go 
export GOPATH=~/workspace/me/go 
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin 

現在用go get安裝了所有的包都是從去分配分開。

9

您可能要考慮使用Go Version Manager (gvm)

除了輕鬆切換Go版本之外,它還允許您在pkgsets(「workspaces」)之間切換。

首先你創建一組

gvm pkgset create myproject 

,然後你使用它

gvm pkgset use myproject 

就像一個魅力。