s平面の左側

左側なので安定してます(制御工学の話は出てきません)

Go 言語のバージョン管理ツール vgo を使ってみた

vgo とは

将来、標準になるであろう Go 言語のバージョン管理ツール。

詳しくは research!rsc: Go & Versioning を参照。

Qiita にて日本語訳を書いてくださっている方もいるので、日本語で読みたければ下記を参照。

qiita.com

実際に使ってみた

先日の投稿で紹介したリポジトリで vgo を使ってみた。

blog.okashoi.net

こちらがその PR。

Use vgo as dependency management tool by okashoi · Pull Request #1 · okashoi/go-lambda-local · GitHub

要点をかいつまんで説明すると以下の通り。

  • 新しく「モジュール」という考え方が登場する
  • vgo コマンド自体は go コマンドと互換を持つ
  • go.mod というファイルに依存モジュールのバージョン情報を持つ
  • vgo build の際に、(import されているが)インストールされていないモジュールは自動でインストールされる
    • この際 go.mod も自動で書き換えられる

所感など

go コマンドと互換を持っているので、簡単に使うことができた。

そもそも既存のバージョン管理ツール(dep, glide など)から簡単に移行できるようにデザインされているとのこと。

なので学習・検証の目的以外で、現時点ではあえて vgo を使う必要はなく、正式に採用されるまで待つので良さそう。

余談