gpt4 book ai didi

go - 如何在 Mac OS X 10.10 中设置 GOPATH

转载 作者:IT老高 更新时间:2023-10-28 13:08:41 24 4
gpt4 key购买 nike

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

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

作为 Dave在评论中提到,你不应该在你的情况下设置 GOROOT
见文章You don’t need to set GOROOT, really .

GOPATH 应该引用一个文件夹,在该文件夹下可以找到 srcpkgbin。 (它不应该直接引用 src 文件夹):
见“How to Write Go Code - Workspace

关于GOPATH:

  • 尝试在您的 ~/.bashrc 中设置它(使用 export)。
  • 检查您当前的 shell 是 bash(而不是像 fish 这样的另一个)
  • 检查 go env 的输出。

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

go get github.com/gocql/gocql

(或 you would need to do a sudo -E bash -c 'go get github.com/gocql/gocql' ,但我怀疑您在这里不需要 root)

sudo caveat :

Any variables added to these locations will not be reflected when invoking them with a sudo command, as sudo has a default policy of resetting the Environment and setting a secure path (this behavior is defined in /etc/sudoers)

关于go - 如何在 Mac OS X 10.10 中设置 GOPATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28741651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com