即使配置了GOPTH,也无法下载fabric sdk go
我是GOlang和Hyperledger fabric的新手,我只是在配置环境。但我犯了一个奇怪的错误即使配置了GOPTH,也无法下载fabric sdk go,go,environment-variables,ubuntu-16.04,hyperledger-fabric,blockchain,Go,Environment Variables,Ubuntu 16.04,Hyperledger Fabric,Blockchain,我是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="
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
提前感谢。您正在使用
sudo
执行go-get
。这将导致所有env变量丢失,因为该命令以userroot
身份执行
通常这是不必要的$GOPATH通常设置为$HOME/go/
。这也是默认值。您应该将$GOPATH设置为此值。之后,您不必使用sudo
调用go-get
正如pizza lord所建议的,您应该更新您的go版本。您正在使用
sudo执行go-get
。这将导致所有env变量丢失,因为该命令以userroot
身份执行
通常这是不必要的$GOPATH通常设置为$HOME/go/
。这也是默认值。您应该将$GOPATH设置为此值。之后,您不必使用sudo
调用go-get
正如pizza lord所建议的,你应该更新你的go版本。删除与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
删除与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
有两种可能的错误
您尚未正确配置$GOPATH
试试这个
mkdir ~/go-workspace
在.bashrc
文件中,附加以下内容
export GOPATH=~/go-workspace
您正在使用go-get
和sudo
尝试:
如果出现“权限被拒绝”错误,请重试
sudo chown user1 $(echo $GOPATH)
有两种可能的错误
您尚未正确配置$GOPATH
试试这个
mkdir ~/go-workspace
在.bashrc
文件中,附加以下内容
export GOPATH=~/go-workspace
您正在使用go-get
和sudo
尝试:
如果出现“权限被拒绝”错误,请重试
sudo chown user1 $(echo $GOPATH)
首先,这不是一个有效的GOPATH,它不应该指向bin目录。其次,sudo在没有env变量的新环境中运行该命令。您不应将sudo与go get
^一起使用,但您还应更新您的go版本当前go 1.10已过时,这意味着支持的最低版本是go 1.8。谢谢您,请允许我更新版本,首先,该版本不是有效的GOPATH,它不应指向bin目录。其次,sudo在没有env变量的新环境中运行该命令。您不应将sudo与go get
^一起使用,但您也应更新您的go版本当前go 1.10已过时,这意味着支持的最低版本是go 1.8谢谢,请让我更新版本,我通过重新安装新版本的Go lang进行了尝试和修复。非常感谢。我通过重新安装新版本的Go lang进行了尝试和修复。非常感谢。我完全按照你说的做了尝试。非常感谢。如果问题解决了,你可以接受答案。这对其他人有帮助。是的,我完全按照你说的做了。非常感谢。如果问题解决了,你可以接受答案。它帮助其他人。问题是版本,我安装的版本有一个bug,比如GopaT不会考虑没有配置工作区。所以我刚刚删除了Go Lang并将新版本安装到/home/Go文件夹中。然后我使用GOROOT path变量配置了路径。现在工作正常。啊,好的。Ubuntu有一些非常坏的软件包。很高兴你能解决它。问题是版本,我安装的版本有一个bug,比如GopaT不会考虑没有配置工作区。所以我刚刚删除了Go Lang并将新版本安装到/home/Go文件夹中。然后我使用GOROOT path变量配置了路径。现在工作正常。啊,好的。Ubuntu有一些非常坏的软件包。很高兴你能处理好。