[英]Why does Golang say my GOPATH isn't set when I set it the command directly before?
这变得非常令人沮丧。 我在~/.bash_profile
设置了我的GOPATH,但是Go仍然说它没有设置。 所以我手动设置它,它仍然说。
computer:~ doug$ export GOPATH=~/Dropbox/golang
computer:~ doug$ sudo go get -u golang.org/x/tools/cmd/...
package golang.org/x/tools/cmd/...: cannot download, $GOPATH not set. For more details see: go help gopath
我在这里做错了什么? 如果我输入goenv
它甚至会列出它被设置为正确的路径。
sudo
默认会删除环境变量,因此以root
身份运行的命令看不到将环境变量设置为doug
。 通常,您不需要sudo
来运行go get
,尽管有些golang.org/x/tools
软件包有些特殊。 尝试仅安装所需的组件(无需sudo),而不要使用...
我特别喜欢go,它的整个环境特别容易使用wget
和tar
设置,不需要任何特殊权限 。
这是我通常在任何系统上安装(和更新)的方式:
$ wget https://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz
$ tar -xzvf go1.6.2.linux-amd64.tar.gz
$ export GOROOT=$PWD/go
$ export PATH=$PWD/go/bin:$PATH
$ which go
/tmp/example/go/bin/go
$ go version
go version go1.6.2 linux/amd64
您可以在以下位置找到tar存档的链接: https : //golang.org/dl/
我喜欢下载并解压缩用于$HOME/Programs
每个版本,然后仅设置一个符号链接以指向我实际要使用的版本:
ls -la /home/fgrosse/Programs | grep go
lrwxrwxrwx 1 fgrosse fgrosse 6 Mar 9 20:52 go -> go1.6.1
drwxr-xr-x 11 fgrosse fgrosse 4.0K Feb 17 21:47 go1.5.4
drwxr-xr-x 11 fgrosse fgrosse 4.0K Feb 17 21:47 go1.6
drwxrwxr-x 11 fgrosse fgrosse 4.0K Apr 23 19:58 go1.6.1
drwxrwxr-x 11 fgrosse fgrosse 4.0K Apr 23 19:58 go1.6.2
$ echo $GOROOT
/home/fgrosse/Programs/go
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.