はじめに Goの依存パッケージ管理といえば、以前から以下のような問題点が指摘されており、 総じてイマイチ、というのが通説である気がします。 外部依存ライブラリのバージョン等が指定できないためビルドの再現性が保証されない 複数prjの開発を同一環境で行う場合 GOPATH が汚染される、あるいは個別に切り替える必要があり面倒 こういった問題点を解消するため、バージョン1.6から(試験的には1.5から) Vendoring という機能が導入されました。 以前から存在しているパッケージ依存管理ツールもこの機能に絶賛対応中(あるいは対応済)といった状況のようです。 今回はこのVeondroing機能と、代表的なパッケージ管理ツールの特徴を調べてみましたので、ご紹介したいと思います。 Vendoring Vendoringというと大層な機能に聞こえますが、言ってしまえば依存ライブラリの参照先(PAT