エラーメッセージは次のとおりです。
% go get
can't load package: package .: no buildable Go source files in /Users/7yan00
% echo $GOPATH
/Users/7yan00/Golang
そのエラーをどのようにトラブルシューティングしますか?
回答:
Goプロジェクトのソースフォルダー(など/Users/7yan00/Golang/src/myProject
)でそのコマンドを使用していることを確認してください。
1つの代替方法(このバグと同様)は、-d
オプションを使用することです(go get
コマンドを参照)
go get -d
-d
フラグ指示するには、パッケージをダウンロードした後に停止するように取得します。つまり、パッケージをインストールしないようにgetに指示します。
それがあなたのケースに役立つかどうかを確認してください。
しかし、より一般的には、このスレッドで説明されているように:
go get
パッケージ用であり、リポジトリ用ではありません。あなたが特定のパッケージが必要な場合はそう、と言う
go.text/encoding
その後、使用、
go get code.google.com/p/go.text/encoding
そのリポジトリ内のすべてのパッケージが必要な場合は、を使用
...
して次のことを示します。
go get code.google.com/p/go.text/...
go get
リモートパッケージには見えません。私はいつも得るno buildable Go source files in
。
$GOPATH
ディレクトリを確認する必要があります。パッケージ名の空のディレクトリがある場合はgo get
、リポジトリからパッケージをダウンロードしません。
たとえば、github.com/googollee/go-socket.io
githubリポジトリからパッケージを取得したいが、にすでに空のディレクトリgithub.com/googollee/go-socket.io
がある$GOPATH
場合、パッケージをダウンロードgo get
せず、ディレクトリにビルド可能なGoソースファイルがないと文句を言います。まず、空のディレクトリを削除します。
メッセージのもう1つの考えられる理由:
パッケージを読み込めません:....:ビルド可能なGoソースファイルがありません
コンパイルされているソースファイルが次の場合です。
// +build ignore
この場合、ファイルは無視され、要求どおりにビルドできません。この動作はhttps://golang.org/pkg/go/build/に記載されています。
// +build myfeature
タグが付いていました。回避策は、パッケージ宣言(つまり、package myfeature
)のみを含むdummy.goというファイルをパッケージに追加することでした。
// +build !windows
// +build go1.9
、go1.8でビルドしようとしたときに、このエラーの原因となっているに遭遇しました
そのリポジトリ内のすべてのパッケージが必要な場合は...
、次のようにそれを示すために使用します。
go get code.google.com/p/go.text/...
私はこの正確なエラーコードを持っていて、リポジトリをチェックした後、goファイルはなく、実際にはもっと多くのディレクトリがあることがわかりました。ですから、それは私にとっては間違いというよりはむしろ赤いニシンでした。
私はすることをお勧めします
環境に行く
そして、すべてが正常であることを確認し、OSの環境変数をチェックし、シェル(bashまたはw / e)が.bash_profileまたは.bashrcファイルなどを介してそれを危険にさらしていないことを確認します。幸運を。