我想做一个go get:

go get github.com/go-sql-driver/mysql

它失败,并出现以下错误:

package github.com/go-sql-driver/mysql: cannot download, $GOPATH not set. For more details see: go help gopath

当我做一个go env,一个go值列表如下所示:

ubuntu@ip-xxx-x-xx-x:~$ go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"

显然GOPATH没有设置,我该如何设置,在哪里设置?

我看到许多线程提到了这个错误,但没有一个线程提供了我的问题的答案,需要编辑哪个文件来为这个路径提供一个值?


当前回答

如果您正在使用ZSH:

nano ~/.zshrc

然后在文件末尾添加:

export PATH=$PATH:/usr/local/go/bin

最后:

source ~/.zshrc

并打开一个新的终端

go version

其他回答

export GOROOT=/usr/lib/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin

你可以过来看看 $ go env

我的围棋环境看起来和你的差不多。

$go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/usr/lib/go-1.6"
GOTOOLDIR="/usr/lib/go-1.6/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT="1"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"

我通过将GOPATH设置为/usr/lib/go来解决这个问题。试试吧。

export GOPATH=/usr/lib/go
export PATH=$PATH:$GOPATH/bin

(Ubuntu)

如果不设置GOPATH,将使用默认值。

您必须将$GOPATH/bin添加到您的PATH中以执行安装在$GOPATH/bin中的任何二进制文件,或者您需要键入$GOPATH/bin/the-command。 将其添加到~/.bash_profile中

导出路径= $ GOPATH / bin: $路径

当前GOPATH命令:

去环境GOPATH

修改GOPATH命令:

出口GOPATH = $ HOME / your-desired-path

编辑~/。Bash_profile添加以下行:

$ export GOPATH=$HOME/work

保存并退出编辑器。然后,源~/.bash_profile

$ source ~/.bash_profile

注意:设置GOBIN路径以在运行go install时生成二进制文件

$ export GOBIN=$HOME/work/bin

这个脚本将帮助你切换哥帕特。https://github.com/buffonomics/goswitch