【问题标题】:Cannot download fabric-sdk-go even if the GOPTH is configured即使配置了 GOPTH 也无法下载 fabric-sdk-go
【发布时间】:2018-04-11 12:27:43
【问题描述】:

我是 GOlang 和 Hyperledger Fabric 的新手,我只是在配置环境。但我得到了一个奇怪的错误,如下所示

 user1@NTP-145UBUNTU:~$ go env
 GOARCH="amd64"
 GOBIN=""
 GOEXE=""
 GOHOSTARCH="amd64"
 GOHOSTOS="linux"
 GOOS="linux"
 GOPATH="/usr/lib/go-1.6/bin"
 GORACE=""
 GOROOT="/usr/lib/go-1.6"
 GOTOOLDIR="/usr/lib/go-1.6/pkg/tool/linux_amd64"
 GO15VENDOREXPERIMENT="1"
 CC="gcc"
 GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
 CXX="g++"
 CGO_ENABLED="1"
 user1@NTP-145UBUNTU:~$ sudo go get -u github.com/hyperledger/fabric-sdk-go
 [sudo] password for user1: 
 package github.com/hyperledger/fabric-sdk-go: cannot download, $GOPATH not set. For more details see: go help gopath

这是说我的 GOPATH 环境变量没有设置。我已经配置了它,它也显示在 evn 变量列表中。如果这里有人遇到这个问题,请帮助我。请注意:我使用的是 ubuntu 16 LTS

提前致谢。

【问题讨论】:

  • 首先,那不是一个有效的 GOPATH,它不应该指向 bin 目录。其次, sudo 在没有您的环境变量的新环境中运行命令。你不应该使用 sudo 和 go get
  • ^ 但你也应该更新你的 go 版本,目前 go 1.10 已经发布,这意味着支持的最低版本是 go 1.8
  • 谢谢你让我更新版本,

标签: go environment-variables ubuntu-16.04 hyperledger-fabric blockchain


【解决方案1】:

您正在执行go getsudo。这将导致您的所有环境变量丢失,因为该命令以用户 root 的身份执行。

通常这不是必需的。 $GOPATH 通常设置为$HOME/go/。这也是默认值。您应该将 $GOPATH 设置为此值。之后,您不必使用sudo 调用go get

正如披萨领主建议的那样,你应该更新你的 go 版本。

【讨论】:

  • 问题出在版本上,我安装的版本有bug,如果没有配置go workspace就不会考虑GOPATH之类的。所以我刚刚删除了我的 Go Lang 并将新版本安装到 /home/go 文件夹中。然后我使用 GOROOT 路径变量配置了路径。它现在工作正常。
  • 啊,好的。 Ubuntu 有一些非常损坏的软件包。很高兴你能解决它。
【解决方案2】:

删除与 ubuntu 打包的现有 golang 版本。将您的 golang 版本更新到 1.9 或最新版本。

$ sudo apt-get remove golang-go 
$ sudo apt-get remove --auto-remove golang-go
$ sudo add-apt-repository ppa:gophers/archive
$ sudo apt-get update
$ sudo apt-get install golang-1.10-go

Update ~/.bash_profile with golang variables
export PATH=$PATH:"/usr/lib/go-1.10/bin"
export GOPATH=$HOME/go

【讨论】:

  • 是的,我完全按照你说的做了。非常感谢。
  • 如果解决了,您可以接受答案。它可以帮助他人。
【解决方案3】:

有两个可能的错误

  1. 您没有正确配置$GOPATH

试试这个。

 mkdir ~/go-workspace

并在您的 .bashrc 文件中,附加此

export GOPATH=~/go-workspace
  1. 您正在使用 go getsudo

试试:

go get -u github.com/hyperledger/fabric-sdk-go

如果出现权限被拒绝错误,请尝试

sudo chown user1 $(echo $GOPATH)

【讨论】:

  • 我尝试通过重新安装新版本的 Go 语言进行修复。非常感谢
猜你喜欢
  • 2015-03-04
  • 2019-06-28
  • 1970-01-01
  • 2016-07-24
  • 1970-01-01
  • 1970-01-01
  • 2020-04-01
  • 2017-07-01
  • 1970-01-01
相关资源
最近更新 更多