即使配置了GOPTH,也无法下载fabric-sdk-go

问题描述 投票:0回答:3

我是GOlang和Hyperledger面料的新手,我只是在配置环境。但是我得到了一个奇怪的错误

 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 env变量没有设置。我已配置它,它也在evn变量列表中显示。如果这里的任何人遇到这个问题,请帮助我。请注意:我使用的是ubuntu 16 LTS

提前致谢。

go environment-variables ubuntu-16.04 hyperledger-fabric blockchain
3个回答
2
投票

你正在用go get执行sudo。这将导致所有env变量丢失,因为命令以用户root执行。

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

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


1
投票

删除与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

1
投票

有两个可能的错误

  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)
© www.soinside.com 2019 - 2024. All rights reserved.