我遇到了一個非常令人沮喪的問題GOPATH,盡管設置在 中,但.profile在調用時沒有出現go env,并且似乎沒有影響go install目標位置。我試圖使用go install安裝軟件包,并正在此錯誤,這清楚地表明,它正試圖安裝的/usr/lib/go,而不是預期的目錄/home/me/dev/go。$ go install github.com/songgao/colorgogo install github.com/songgao/go.pipeline: mkdir /usr/lib/go/pkg/linux_386/github.com: permission deniedgo env 給出以下結果。$ go envGOROOT="/usr/lib/go"GOBIN=""GOARCH="386"GOCHAR="8"GOOS="linux"GOEXE=""GOHOSTARCH="386"GOHOSTOS="linux"GOTOOLDIR="/usr/lib/go/pkg/tool/linux_386"GOGCCFLAGS="-g -O2 -fPIC -m32 -pthread"CGO_ENABLED="1"但它肯定是設置的。$ echo $GOPATH/home/me/dev/go更新:我已經導出了 GOPATH~/.profile并獲取了它,但我仍然遇到同樣的問題。$ export GOPATH=/home/me/dev/go$ go envGOROOT="/usr/lib/go"GOBIN=""GOARCH="386"GOCHAR="8"GOOS="linux"GOEXE=""GOHOSTARCH="386"GOHOSTOS="linux"GOTOOLDIR="/usr/lib/go/pkg/tool/linux_386"GOGCCFLAGS="-g -O2 -fPIC -m32 -pthread"CGO_ENABLED="1"再次更新:自從我升級到 go1.1beta2 后,此問題已停止。我不確定出了什么問題,因為GOPATH似乎設置正確,但現在顯然一切正常。
3 回答

函數式編程
TA貢獻1807條經驗 獲得超9個贊
GOPATH 和工作區
$ mkdir -p $HOME/dev/go/src
$ mkdir -p $HOME/dev/go/bin
在$HOME/.profile:
export GOPATH=$HOME/dev/go:
export PATH=$PATH:$HOME/dev/go/bin
然后重新啟動或注銷并登錄。
登錄后,首先運行:
$ env | grep -i '^GO'
GOPATH=/home/me/dev/go
$ cat $HOME/.profile
你得到什么輸出?

湖上湖
TA貢獻2003條經驗 獲得超2個贊
當您提供設置 GOPATH 的證據時,您問題的第二部分 - GOPATH 未在 go env 下列出 - 可能是由您安裝的版本的“go env”引起的。go1 (linux) 和 go1.0.2 (windows) 版本的“go env”都不顯示 GOPATH。如果你看一下源(GOROOT / src目錄/ CMD /去/ env.go),你會發現就在頂部元素顯示(mkEnv)與GOROOT開始,并列表中不包含GOPATH。
版本 go1.0.3 (windows) 確實顯示 GOPATH;但是,源中的相應列表以 GOARCH 開頭。
我承認這并不能解決您問題的第一部分——(試圖)安裝到 GOROOT 中——但也許以上內容可以幫助您專注于罪魁禍首(構建過程)。
- 3 回答
- 0 關注
- 265 瀏覽
添加回答
舉報
0/150
提交
取消