親ディレクトリからの相対インポートはどのように行われますか?親ディレクトリからの相対インポート
meme/cmd/meme
から
:
import "../../../meme"
これは、あいまいなエラーを与える:
[email protected]:~/gopath/src/bitbucket.org/anacrolix/meme/cmd/meme$ go get bitbucket.org/anacrolix/meme/cmd/meme
can't load package: /home/matt/gopath/src/bitbucket.org/anacrolix/meme/cmd/meme/main.go:8:2: local import "../../../meme" in non-local package
[email protected]:~/gopath/src/bitbucket.org/anacrolix/meme/cmd/meme$ echo $GOPATH
/home/matt/gopath
は私が親ディレクトリからローカルにインポートするにはどうすればよいですか?
私はこれをいくつかの方法で試しましたが、あなたが言及したあいまいなエラーは見られませんでした。言葉があいまいであるか、メッセージ・テキストに単語があいまいであることを意味しますか?私が試した2つの方法は、GOPATH内のmeme/cmd/memeで、次にGOPATHの外でした。どちらの場合も、相対的なインポートパスが私にとってうまくいきました。何があなたのために働いていないの詳細を与えることができますか? – Sonia
@Soniaあなたはgoツールを試しましたか?私は詳細を追加します。 –
はい。私はあなたがmemeにパッケージを持っていて、meme/cmd/memeに実行ファイルがあると思っています。 GOPATHの場合は、実行したばかりの実行可能ファイルにインストールしてください。 GOPATHを超えている場合、私はgo tool 6gでmemeパッケージをコンパイルしてツールパックを実行しました。メインパッケージのインポートは、./../memeで.aを指すようにする必要がありましたが、それ以外の場合はツール6gを実行し、ツール6lを実行すると、パッケージにアクセスした実行可能な実行可能ファイルをビルドします。 – Sonia