簡體   English   中英

這是有效的Go路徑配置嗎?

[英]Is this a valid Go path config?

我將路徑變量放置如下:

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中,並同時獲得了它們的來源(不確定它們中的哪個正在生效)。

我的go env輸出:

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返回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輸出顯示成功安裝了它,但是,我不確定在何處或如何配置它來測試和使用它。

您的GOBIN設置告訴go install嘗試將編譯的二進制文件go install到您GOBIN寫入的系統全局目錄中。 嘗試取消設置該變量; 東西應該默認安裝在$GOPATH/bin

還要記住, go install將軟件包名稱 (而不是文件名)作為其參數。 我不清楚您可以直接在$GOPATH/src go install某些內容,但可以將其移至子目錄中

unset $GOBIN    
cd $GOPATH/src
mkdir github.com/myname/helpp
mv helpp.go github.com/myname/helpp
go install github.com/myname/helpp
$GOPATH/bin/helpp  # uses the name of the package directory

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM