我在Mac OS X中安装了Go 1.4。以前我有Go 1.0。我将GOROOT和PATH设置如下,
Dineshs-MacBook-Air:go-cassandra Dany$ which go /usr/local/go/bin/go Dineshs-MacBook-Air:go-cassandra Dany$ export GOROOT=/usr/local/go/bin/go Dineshs-MacBook-Air:go-cassandra Dany$ export PATH=$PATH:$GOROOT/bin
Go安装在“ / usr / local / go / bin / go”中。然后将GOPATH设置为我的项目src目录。我可以在目录中运行go代码。但是,当我尝试安装gocql时,出现错误。
Dineshs-MacBook-Air:go-cassandra Dany$ sudo go get github.com/gocql/gocql package github.com/gocql/gocql: cannot download, $GOPATH not set. For more details see: go help gopath
有人可以帮我吗?谢谢
编辑1: @VonC我也尝试了其他选项。我将GOROOT更改为go的安装目录。但这没有帮助。然后我更改了GOPATH。
Dineshs-MacBook-Air:go-cassandra Dany$ export GOROOT=/usr/local/go Dineshs-MacBook-Air:go-cassandra Dany$ export PATH=$PATH:$GOROOT/bin Dineshs-MacBook-Air:go-cassandra Dany$ export GOPATH=/Users/Dany/Documents/FALL-2013-COURSES/Imp_Data_structures/workspace/go-cassandra Dineshs-MacBook-Air:go-cassandra Dany$ sudo go get github.com/gocql/gocql Password: package github.com/gocql/gocql: cannot download, $GOPATH not set. For more details see: go help gopath Dineshs-MacBook-Air:go-cassandra Dany$ echo $GOPATH /Users/Dany/Documents/FALL-2013-COURSES/Imp_Data_structures/workspace/go-cassandra Dineshs-MacBook-Air:go-cassandra Dany$ ls bin pkg src Dineshs-MacBook-Air:go-cassandra Dany$
笔记:
GOROOT应该引用一个文件夹(安装go的位置),而不是go可执行文件本身
GOROOT
go
export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin
正如戴夫(Dave在评论中提到的那样,您不必完全根据GOROOT自己的情况进行设置。 看到这篇文章,您不需要设定GOROOT,真的。
GOPATH应该引用一个文件夹,在该文件夹下src,pkg和bin。(不应直接引用该src文件夹): 请参见“ 如何编写Go代码-工作区 ”
GOPATH
src
pkg
bin
关于GOPATH:
~/.bashrc
export
fish
go env
不要执行sudo go get,因为用于sudo(root)的环境变量将与当前用户不同:
sudo go get
sudo
root
go get github.com/gocql/gocql
或者您需要执行sudo -E bash -c 'gogetgithub.com/gocql/gocql',但我怀疑您不需要root在这里)
sudo -E bash -c 'gogetgithub.com/gocql/gocql'
参见sudo警告:
使用sudo命令调用它们时,不会将添加到这些位置的任何变量反映出来,因为sudo具有重置环境和设置安全路径的默认策略(此行为在中定义/etc/sudoers)
/etc/sudoers