以前、ぎんざRuby会議01 での Bundler 2 のプレゼンで取り挙げたように bundle
コマンドの挙動が Bundler 2 で変わる予定。
現在の Bundler 1.15 系と異なり、Bundler 2 での bundle
コマンドは以下のようにコマンドの一覧表示になる。
% bundle Bundler version 2.0.0.dev (2017-09-29 commit 5e9c40aa1) Bundler commands: Primary commands: bundle install [OPTIONS] # Install the current environment to the system bundle update [OPTIONS] # Update the current environment bundle cache [OPTIONS] # Locks and then caches all of the gems into vendor/cache bundle exec [OPTIONS] # Run the command in context of the bundle bundle config NAME [VALUE] # Retrieve or set a configuration value bundle help [COMMAND] # Describe available commands or one specific command (snip)
この変更がどういうことかというと、bundle gem
で作った gem の README.md テンプレートに記されたインストール手順をそのまま README に使っている gem が問題になる (慣れた人であれば、インストールドキュメントを見ながら bundle
コマンドを打つ人は少ないと思うが) 。端的にいうと bundle
コマンドではインストールできなくなるので、bundle install
に書き直す必要がある。bundle install
であれば1系、2系両方に対応するので、それが正解だと思っている。
Bundler 2 は未だリリースされていないため、もう少し様子見をした方が良いかなと思っているけれど、この変更が実現したら OSS Gate ワークショップあたりで README どおりの手順で行なったけれどインストールできないといった PR が多数出るのかなとも予測していたりする。
bundle gem
を利用する gem 職人向けには Bundler にパッチを出しておいたので、このパッチ以降は問題がそのはなくなるけれど、現在世にある gem でも相当数のインストール手順が bundle
になっているものがあるので、振る舞いとしては良くなったと思う一方で、既存ドキュメントへの非互換として知っておいて良いと思う。