【问题标题】:GOPATH environment variable not setGOPATH 环境变量未设置
【发布时间】:2013-11-20 05:07:46
【问题描述】:

我正在尝试按照这些 instructions 安装 Oracle 驱动程序 for Go (go-oci8)

我面临的问题是 $GOPATH 环境变量。 当我执行命令时:

sudo go get github.com/mattn/go-oci8

我得到错误:

cannot download, $GOPATH not set. For more details see: go help gopath

但是,我正确设置了 GOPATH。我的环境是这样的:

env | grep GO

GOARCH=amd64
GOROOT=/usr/local/go
GOOS=linux
GOPATH=/home/myuser/go/

ls $GOPATH
bin pkg src

我找到了类似的post,但该解决方案不适用于我的情况。

【问题讨论】:

  • 你试过sudo GOPATH=/home/myuser/go/ go get github.com/mattn/go-oci8吗?
  • 你为什么使用sudo
  • 不是“你为什么使用 sudo?”,而是“不要使用 sudo!”。
  • 您链接到的页面上的说明并没有说要使用sudo。你真的不需要。

标签: linux oracle go oracle-call-interface


【解决方案1】:

出于一些非常好的安全原因,Sudo 不会尊重您的所有 ENV 变量。

解决这个问题的最简单方法是 /bin/env

sudo /bin/env GOPATH=/home/myuser/go go get <stuff>

但是你不需要这样做,你真的不应该需要root来写 到 GOPATH,只有 GOROOT。

【讨论】:

  • 使用过 ruby​​ on rails,我喜欢用 RVM 来管理 ruby​​ 环境和版本。我很高兴为 Go 找到 GVM:github.com/moovweb/gvm
  • 我实际上是在使用 sudo,因为我遇到了权限问题。我所做的只是再次创建 GO 目录并在不使用 SUDO 的情况下安装包。它现在正在工作。感谢您的所有回复。
  • 使用 sudo 可能是必要的,例如使用原始套接字时。
  • 你也可以$ sudo -E go get &lt;stuff&gt;.
猜你喜欢
  • 1970-01-01
  • 2014-09-05
  • 2013-04-20
  • 2022-12-02
  • 2020-04-12
  • 2017-12-31
  • 2017-10-30
  • 2014-02-10
相关资源
最近更新 更多