depでローカル開発してたpackageを参照しようとしてハマった
Golangで パッケージマネージャとして dep
を使っていた。 ローカルにある開発中の* package
をimport "..."
していたのだが、 dep ensure -updae
をすることで勝手に Gopkg.lock
に 参照されていた
だが、いちいちgitのリポジトリにPushして dep ensure -update
などとしていては効率が悪い。
ので、どうにかしたかった2日ぐらい悩まされ結局 公式Document に書いてあったのを思いっきり見落としていた
解決
Gopkg.toml
に ignored という項目を追加することで、プロジェクト内で参照はされているが、
packageをダウンロードしてこないようにできた
ignored = ["github.com/user/project/badpkg"]
[[constraint]]
name = "github.com/user/project1"
branch = "master"
source = "github.com/myfork/project1"
[[constraint]]
name = "github.com/user/project2"
branch = "dev"
source = "github.com/myfork/project2"
新たな問題点
Docker内で開発をしていたのでどのみち、ローカルのpackageを参照するにはvolumeを指定する必要があり、
これなら、今までどおり、開発して push
して dep ensure -update
してのながらでも変わらないような気もする。
import "app/..."
というのも考えたが、非推奨なためどうしたものか