2017-05-01 18 views
1

私はしばらくの間働いていましたが、今週末にはいくつかのサーバーコードを配備したいと思っていました。私の〜/ .bashrcの中標準のパッケージでは標準のインポートでは "fmt"、インポートサイクルは許可されていませんが、コードビルドエラーです。

can't load package: ($HOME)/go/src/goTest/main.go:4:2: non-standard 
import "fmt" in standard package "goTest" 
import cycle not allowed 
package goTest 
     imports fmt 
     imports errors 
     imports runtime 
     imports runtime/internal/atomic 
     imports unsafe 
     imports runtime 

私は環境変数を設定するためにこれを実行している:私は行くが動作しているかどうかをテストするためにいくつかの非常に簡単なコードでgo buildを実行すると、私はこのエラーを取得します。

export GOPATH=/usr/local/go 
export GOBIN=$GOPATH/bin 
export PATH=$PATH:$GOBIN 

マイゴーワークスペースは$HOME/goであり、私のインストール行くデフォルト/usr/local/goです。すべてのヘルプは

main.go

package main 

import (
    "fmt" 
) 

func main() { 
    fmt.Println("test") 
} 

編集高く評価されています

1)export GOPATH=$HOME/gogo version私はこれを見て、しかし、あなたのパスを修正しようとしていないgo1.6 linux/amd64

+0

...多分それがあれば消えるか奇数$GOPATH/src/github.com/<your id>/<repository name>/

の下でなければなりませんプロジェクトを '〜/ go/src/github.com/nubrozaref/goTest'に移動して規約に従いますか? *編集* nvmあなたのゴパスは〜/いない、最初にそれを修正します。あなたのコードは$ GOPATH/srcのどこかに存在する必要があります – Plato

+0

@Plato '/ usr/local/go/src/github.com/nubrozaref/goTest'に移動してもインポートサイクルの問題は発生しますが、エラーでインポートします。 – nubrozaref

答えて

1

設定$GOPATH$GOROOT、および$GOBINcorrectly。この場合、次のようにする必要があります。

export GOPATH="$HOME/go" 
export GOROOT="/usr/local/go" 

また、ソースコードを正しく探します。多分それは(あなたが行く(> = 1.8)の新しいバージョンを使用している場合、あなたは$GOPATHなどを設定する必要はありません。Details here.

+1

@nubrozaref '$ GOPATH'は' $ GOROOT'とは異なるためです。 [参考文献](https://golang.org/cmd/go/#hdr-Environment_variables)と[this](https://golang.org/cmd/go/#hdr-GOPATH_environment_variable)を読んでください。 – nekketsuuu

0

です。

2)export GOROOT=/usr/local/go

3)mkdir -p $GOPATH/src/github.com/nubrozaref/goTest

4)mv $GOPATH/src/goTest/ $GOPATH/src/github.com/nubrozaref/goTest

5)あなたがしたい場合:ln -s $GOPATH/src/github.com/nubrozaref/goTest ~/goTest

関連する問題