我想做一个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没有设置,我该如何设置,在哪里设置?
我看到许多线程提到了这个错误,但没有一个线程提供了我的问题的答案,需要编辑哪个文件来为这个路径提供一个值?
这是最烦人的事情。希望能节省你的时间。
IF go是以root用户安装的。您系统的bash_profile文本文件~/的根用户。bash_profile需要将$GOROOT分配到go安装目录,$GOPATH需要分配到go /src目录。
...$# sudo su
...$# vi ~/.bash_profile
***Story continues in vi editor***
GOROOT=$GOROOT:/usr/local/go
GOPATH=$GOPATH:/usr/local/go/src
...
[your regular PATH stuff here]
...
确保进入二进制的路径在.bash_profile上的路径中
= $ PATH: $ HOME / bin: / usr /地方/ bin: / usr /地方/去/ bin
这个PATH可以是它需要的长度的字符串..以添加新项,只需用冒号分隔:
退出vi编辑器并保存bash配置文件(:wq代表write and quit)
[esc]
[shift] + [:]
:wq
你必须注销终端,然后重新登录配置文件重新启动..或者你可以通过使用导出启动它。
...$# export GOPATH=/usr/local/go/src
你可以验证go env:
...$# go env
Yay!
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/usr/local/go/src"
GORACE=""
GOROOT="/usr/local/go"
现在你可以sudo和go可以在go/src中下载和创建目录你可以找到你想要做的。
例子
# sudo go get github.com/..
现在你会遇到另一个问题,你可能没有安装git。这是另一次冒险…:)