2013-06-04 58 views
5

我有一些困難越來越上去和Linux Mint的14正​​常運行我有一個文件夾($ HOME /開發/ gocode)與binpkgsrc文件夾,我的GOPATH並有GOPATH環境變量設置正確那裏。我嘗試使用go gethttps://github.com/jbarham/primegen.go)安裝某個github存儲庫,但Go給了我錯誤:stat github.com/jbarham/primegen.go: no such file or directory(我認爲是因爲存儲庫以.go結尾)。很好,我只是手動克隆它,但後來當我嘗試go install其中一個在該庫的可執行文件(沒有一個工作,但我嘗試安裝primespeed第一),我收到以下錯誤:'go install'試圖安裝到/ usr/lib/go而不是我的GOPATH。權限被拒絕

$ cd $GOPATH/src/github.com/jbarham/primegen.go/primespeed 
$ go install 
go install github.com/jbarham/primegen.go: mkdir /usr/lib/go/pkg/linux_amd64/github.com: permission denied 

爲什麼去嘗試有安裝包?我明確地設置了我的GOPATH變量,但它試圖將包安裝到/ usr/local。

我不知道它是否會有所幫助,但這裏是關於版本和環境的其他一些輸出:

$ go env 
GOROOT="/usr/lib/go" 
GOBIN="" 
GOARCH="amd64" 
GOCHAR="6" 
GOOS="linux" 
GOEXE="" 
GOHOSTARCH="amd64" 
GOHOSTOS="linux" 
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64" 
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread" 
CGO_ENABLED="1" 
$ go version 
go version go1.0.2 
+0

東西很腥 - 爲什麼'GOPATH'不會顯示在你的'en env'輸出中? –

+0

你有「出口GOPATH」嗎? – alex

回答

5
  1. 你GOPATH很可能無法導出。
  2. 是的,具有.go擴展名的存儲庫不是'可以獲取'的。

廣告1.(更好的投入.bashrc或者同等學歷):

$ export GOPATH=$HOME # just an example 

廣告2.(更好的提高了issue對無意義的庫名):

$ mkdir -p $GOPATH/src/github.com/jbarham 
$ cd $GOPATH/src/github.com/jbarham 
$ git clone https://github.com/jbarham/primegen.go.git 
$ cd primegen.go 
$ go install 
+1

不幸的是,似乎並非如此。我絕對有GOPATH出口,並可以'去安裝'其他軟件包就好了。我只是假設軟件包末尾的'.go'是導致錯誤的原因。也許在某一天我會更多地瞭解幕後發生的事情,並找出罪魁禍首並提交補丁。至於現在,我已經轉移到其他項目來滿足我的好奇心。謝謝你的幫助。 – Drewmate

+0

這很奇怪,當我做一個'去env'' GOPATH'列出。我在上面的輸出中看不到它。 – Intermernet

6
export GOPATH=$HOME/go 

export GOBIN=$HOME/go/bin 

試試吧。

0

我有同樣的問題,但發現,對於某些回購,您需要專門添加導出GOPATH。例如,從我GOPATH

cd $GOPATH 
export GOPATH=$PWD && go get -d github.com/nsf/gocode 

你能避開它在一起我想,如果你的別名是:

alias goget='cd $GOPATH; export GOPATH=$PWD && go get' 

這不是完美的,奇怪的是export GOPATH=$GOPATH不起作用。 由於某些原因,某些回購操作會將GOPATH重置爲$HOME並嘗試以其他用戶身份執行。 我的猜測是go get方法中的一些開發代碼與調用混淆。 [只是一個預感,不要引用我]