如何在Mac OS X 10.10中设置GOPATH

我在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

有人可以帮我吗?谢谢

@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可执行文件本身

export GOROOT=/usr/local/go

export PATH=$PATH:$GOROOT/bin

正如戴夫(Dave在评论中提到的那样,您不必完全根据GOROOT自己的情况进行设置。

看到这篇文章,您不需要设定GOROOT,真的。

GOPATH应该引用一个文件夹,在该文件夹下srcpkgbin。(不应直接引用该src文件夹):

请参见“ 如何编写Go代码-工作区 ”

关于GOPATH

  • 尝试将其设置在您的中~/.bashrc(使用export)。
  • 检查您当前的shell是bash(而不是其他类似bash fish
  • 检查的输出go env

不要执行sudo go get,因为用于sudoroot)的环境变量将与当前用户不同:

go get github.com/gocql/gocql

或者您需要执行sudo -E bash -c 'gogetgithub.com/gocql/gocql',但我怀疑您不需要root在这里)

参见sudo警告:

使用sudo命令调用它们时,不会将添加到这些位置的任何变量反映出来,因为sudo具有重置环境和设置安全路径的默认策略(此行为在中定义/etc/sudoers

以上是 如何在Mac OS X 10.10中设置GOPATH 的全部内容, 来源链接: utcz.com/qa/413433.html

回到顶部