2016-09-16 35 views
4

私はグライドでgoのベンダー機能をチェックしていました。それはすべてのパッケージをインストールする素晴らしいでしたが、私はベンダーのパッケージでそれらを見つけるために命令を出すことができなかった。ベンダーからインポートパッケージを作るにはどうしたらいいですか?

go run src/main.go 

src/main.go:8:2: cannot find package "github.com/valyala/fasthttp" in any of: 
    /home/joaonrb/.software/lib/go/go1.7/src/github.com/valyala/fasthttp (from $GOROOT) 
    /home/joaonrb/.projects/go-blog/src/github.com/valyala/fasthttp (from $GOPATH) 

Fasthttpが/home/joaonrb/.projects/go-blog/src/vendor/github.com/valyala/fasthttpにインストールされている、私が使用している行くのバージョンは1.7で、私のGOPATHは/home/joaonrb/.projects/go-blog

+0

「$ GOPATH/src」の最上位にソースファイルを置いてはいけません。 'main.go'をパッケージディレクトリに移動し、そこから' go run'を試してください。 – JimB

+0

ありがとうございます。これは私の問題を解決します。 – joaonrb

答えて

6

あなたGOPATH構造が有効ないないようです。あなたがしたいことをするには:

  • "プロジェクト"フォルダを作成します。 $GOPATH/src/myproj
  • main.goをそこに置きます。
  • そこにベンダーフォルダを作成します。 $GOPATH/src/myproj/vendor
  • github.com/valyala/fasthttpを入れてください。

これでうまくいくはずです。

+0

これとエラーはほぼ同じですか?それは$ GOPATH/src/github.com/valyala/fasthttpを見つけようとするが、パッケージは$ GOPATH/go-blog/vendor/github.com/valyala/fasthttp – joaonrb

+0

にある@joaonrb $ GOPATH/** src * */go-blog/vendor/github.com/valyala/fasthttp私の編集を参照してください。 –

関連する問題