bundle lockが便利

#ruby

bundle lockというコマンドがあることに気づいた。これはgemをインストールせずにGemfile.lockだけを更新する。

% bundle lock
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Writing lockfile to Gemfile.lock

普段、MySQLのDockerイメージを使っているので、mysql2をインストールしようとすると以下のようなエラーになる。

mysql client is missing. You may need to 'brew install mysql' or 'port install mysql', and try again.

このままだとGemfile.lockを更新できないので、Dockerイメージ内でbundle installしてGemfile.lockの同期によってホスト側を更新していた。

bundle lockを使うともっと簡単にできることがわかった。インストールせずにGemfile.lockを更新するので、ホストにMySQLがなくてもいい。便利。