私は使用しましたGOPATHが、この現在の問題で私が直面しているのは役に立ちません。プロジェクトに固有のパッケージを作成できるようにしたい:
myproject/
├── binary1.go
├── binary2.go
├── package1.go
└── package2.go
私は複数の方法を試してみましたが、どのように得るかpackage1.goで動作するようにbinary1.goか、binary2.goというように?
例えば; 私のことができるようにしたいimport "package1"し、次に実行することができgo build binary1.go、すべてがエラーがパッケージが上で見つけることができないというスローされることなく、罰金を動作しますGOROOTかGOPATH。この種の機能が必要な理由は、大規模プロジェクトのためです。他の複数のパッケージを参照したり、それらを1つの大きなファイルに保持したりする必要はありません。
git/repo/to/my/projectパス全体を指定しない限り、基本的にローカルのサブパッケージをインポートできないことですか?誰もがこの振る舞いを望んでいる理由がわかりません。プロジェクトを別の場所(つまり、Dockerイメージ)に移動した場合、すべてのパスを再度変更する必要がありますか?これがとても複雑な理由を探しています。