https://github.com/doloopwhile/gocheckout
使用例
martiniのバージョン0.1を使いたいとき、
gocheckout github.com/go-martini/martini v0.1
なぜ作ったか?
周知の通り、Go本体にはRubyのBundlerのような、依存ライブラリのバージョンを指定する仕組みがありません。 その解決案として、
- Gom BundlerのGolang版
- Gondler 記事 BundlerのGolang版2
- gopkg.in 特定バージョン用のURLを生成するWEBサービス
- ソースコードを丸ごと、製品レポジトリに取り込む!(vendoring)
などがあります。
しかし、とりあえずGomを使ってみて感じたのが
「Gomを使わなくても
$GOPATH
でどこにでもインストールできるよな」
「$GOPATH
を明示すればgom run
gom test
って不要だよな」
ということでした。
そこで「特定バージョンをインストールする機能」さえあれば、
残りはgo
と簡単なシェルスクリプト類の組み合わせで間に合うのではないか?と考えてgocheckout
を作ってみました。
もし役立ったなら Star していただけるとうれしいです。