2016-04-01 7 views
0

パッケージvpc_app/unit_test.go:私の売り手のライブラリを見つけられないのはなぜですか?

import (
    "github.com/my-org/my-library/http" 
) 
... 

パッケージgithub.com/my-org/my-library/http/http.go:

package http 
... 

ファイルの構造:

$ tree 
tree 
. 
├── glide.lock 
├── glide.yaml 
├── unit 
│   └── modules 
│    └── vpc 
│     └── vpc-app 
│      └── unit_test.go 
└── vendor 
    └── github.com 
     └── my-org 
      └── my-library 
       ├── http 
       │   └── http.go 

問題:私はgo test ./...を実行すると

は、私はこのエラーを取得する:

vendor/github.com/my-org/my-library/url_checker.go:7:2: cannot find package "github.com/my-org/my-library/http" in any of: 
    /usr/local/go/src/github.com/my-org/my-library/http (from $GOROOT) 
    /Users/josh/go/src/github.com/my-org/my-library/http (from $GOPATH) 

質問:

私は1.6を行く使用していますが、私のベンダーに見ていないようですパッケージを見つけるディレクトリ。それがなぜ起こったのかについてのアイデアは?

更新#1: 要求されたとして、ここで私のgo env出力です:

OARCH="amd64" 
GOBIN="" 
GOEXE="" 
GOHOSTARCH="amd64" 
GOHOSTOS="darwin" 
GOOS="darwin" 
GOPATH="/Users/josh/go" 
GORACE="" 
GOROOT="/usr/local/go" 
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64" 
GO15VENDOREXPERIMENT="1" 
CC="clang" 
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common" 
CXX="clang++" 
CGO_ENABLED="1" 
+0

ありがとうございました.Josh、 'vendor/github.com/my-org/my-library/url_checker.go'にも最初の数行を表示できますか? –

+0

更新されたエラーとそれが異なる場合。 –

+1

さて、私は何か本当にダムをやっています。私のレポは私の 'GOPATH'にはありません! git repoを使って 'GOPATH/src/github.com/my-org/my-library'に移動することはやりました。あなたの助けと敏感さに感謝します! –

答えて

0

エラーがベンダーのフォルダ内にあるvendor/github.com/my-org/my-library/url_checker.goから発信されます。それはそれのように見える

は、ベンダーのフォルダを見つけですが、問題は、ベンダーのフォルダと再帰的な依存関係に問題があるかどうかを確認するための調査ライン上vendor/github.com/my-org/my-library/url_checker.goでimport文7

によるものです。

go envの出力を提供できますか?

+0

'go test'がベンダードディレクトリを見つけるのは間違いですが、存在しないパッケージを参照している問題のファイルがあると思いますが、それでもまだ更新されていない場合でも。この場合、問題は、配布されたファイルが、ライブラリ内の別の不正なファイルを参照していたことです。私はこのインラインで問題を解決するのに十分ではないのですか? –

1

私のレポはGOPATHにありませんでした。 $GOPATH/src/github.com/my-org/my-libraryに移動するとそのトリックが行われました。