2016-05-13 5 views
4

なんらかの理由で、official docに続いて、ソースからgoプロジェクト(ドッカー群)を構築したいと考えています。絶対パスからビルドできないのはなぜですか?

... 
cd $GOPATH/src/github.com/docker/swarm 
go install . 

をしかし、私は、「1行」、それとはcdを避けるためにしようとした場合、それは失敗します:

それは私がしなければうまく機能

go install $GOPATH/src/github.com/docker/swarm 

ERROR: can't load package: 
package <my go path>/src/github.com/docker/swarm: 
import "<my go path>/src/github.com/docker/swarm": 
cannot import absolute path 

なぜ、これに対処行くことができません絶対パス?

+2

packesがインポートパスによって参照されている相対的なインポートとあなたのために働くかもしれないvendoringのバリエーションがあり、そしてゴーツールがパッケージで動作します。 – JimB

答えて

3

JimBは正しいですが、パッケージはインポートパスからの相対パスです。 「絶対に」輸入する能力はありません。

それはスペックに特異的に綴られていないが、それはhttps://golang.org/ref/spec#ImportPathでそれをほのめかす行います

IMPORTPATHの解釈は実装依存であるが、それは通常の完全なファイル名の部分文字列でありますコンパイルされたパッケージであり、インストールされたパッケージのリポジトリに対して相対的であってもよい。

は(1.6 https://docs.google.com/document/d/1Bz5-UB7g2uPBdOx-rw5t9MxJwkfpx90cqG9AFL0JAYo/edit?pref=2&pli=1で利用できるようになりました1.5 vendoring実験を、GO参照)

関連する問題