5

我在 Linux Mint 14 上启动并正确运行 Go 时遇到了一些困难。我有一个文件夹 ($HOME/develop/gocode),其中bin,pkgsrc文件夹是我GOPATH的,并且在GOPATH那里正确设置了环境变量。go get我尝试使用(https://github.com/jbarham/primegen.go )安装某个 github 存储库,但 Go 给了我错误:(stat github.com/jbarham/primegen.go: no such file or directory我认为是因为存储库以 .go 结尾。)很好,我只是手动克隆了它,但是当我尝试使用go install该存储库中的两个可执行文件之一时(两者都不起作用,但我尝试先安装 primespeed)我收到以下错误:

$ 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
4

3 回答 3

6
export GOPATH=$HOME/go

export GOBIN=$HOME/go/bin

试试看。

于 2014-08-14T06:03:16.457 回答
5
  1. 您的 GOPATH 可能未导出。
  2. 是的,具有.go扩展名的存储库不是“可获取的”。

广告 1.(最好放入 .bashrc 或等效文件中):

$ export GOPATH=$HOME # just an example

广告 2.(最好提出关于无意义的存储库名称的问题)

$ 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
于 2013-06-04T06:15:38.580 回答
0

我遇到了同样的问题,但发现对于某些存储库,您需要专门添加 export 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是不起作用。出于某种原因,一些 repos 正在重置GOPATHto$HOME并尝试以不同的用户身份执行。我的猜测是go get方法中某处的一些开发代码弄乱了调用。[只是预感,不要引用我]

于 2016-07-06T14:01:27.470 回答