我将路径变量放置如下:
export GOROOT=/usr/local/go
export GOPATH=$HOME/Professional/Sch/Fabric/go
export GOBIN=/usr/local/go/bin
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
我已将这些行放在 ~/.profile 和 ~/.bashrc 中,并同时获取它们(不确定它们中的哪一个生效)。
我的环境输出:
GOARCH="amd64"
GOBIN="/usr/local/go/bin"
GOCACHE="/home/deepak/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/deepak/Professional/Sch/Fabric/go"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build653871525=/tmp/go-build -gno-record-gcc-switches"
我已将以下代码放在 $HOME/Professional/Sch/Fabric/go/hellp.go 中:
package main
import "fmt"
func main() {
fmt.Printf("Hello, World!\n")
}
但每次我这样做go install hellp.go
,我都会得到:
go install command-line-arguments: open /usr/local/go/bin/hellp: permission denied
这很奇怪,因为go version
返回 a go version go1.10.4 linux/amd64
,我不确定它为什么要引用/usr/local/go/bin/hellp
,因为那里没有“hellp”文件,它是我在$HOME/Professional/Sch/Fabric/go/
.
我不确定缺少哪个目录权限,但我尝试过:
201 sudo chmod -R 777 ~/Professional/Sch/Fabric
202 go install hellp.go
203 sudo chmod -R 777 ~/Professional/Sch/Fabric/go/hellp.go
204 go install hellp.go
205 sudo chmod -R 777 ~
我的 uname -a 输出:
Linux instance-1 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4 (2018-08-21) x86_64 GNU/Linux
我正在尝试安装以 Go 为先决条件的 HyperLedger Fabric,并且清楚地go version
输出显示其已成功安装,但是,我不确定需要在何处或如何配置它来测试和使用它。