私は使用しました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イメージ)に移動した場合、すべてのパスを再度変更する必要がありますか?これがとても複雑な理由を探しています。