heroku デプロイ時や model 作成時に現れた error:You must use Bundler 2 or greater with this lockfile.への対処法 2019 年に入ってから bundler の version が 2.0.1 になってから現れた問題のような のですが、あまり日本語記事がなかったので自分の問題解決経緯を共有させていた だきます。 heroku へのデプロイ時 local にて bundler2.0.1 で gem 等を install している人に出てくる問題みたいなので すが、 (自分の bundler の version を check したいと言う人は、terminal 等アプリケーション のディレクトリで、$vi Gemfile.lock、最後の文に書いてあります。) heroku にデプロイしようとすると、You must use Bundler 2 or greater with this lockfile.のような警告文が出ます。 これは$heroku buildpacks:set https://github.com/bundler/herokubuildpack-bundler2 とすれば解決します。heroku の buildpacks が新しい bundler に対応していないっぽいのでサードパーティ(?)でできるようにしたものみたい です。 model 生成時 僕の場合、さらに heroku への deploy 時だけでなく、model 生成の時にも、bundle exec rails g model ...とすると、You must use Bundler 2 or greater with this lockfile.と出てきたので、これはもしや local の bundler -v2.0.1 自 体がダメなのかなと思い、とりあえず version を変えることにしました。変え方は、 1.gemfile.lock を消す 2.$gem install bundler -v 1.17.3 などとして前の version の bundler を install 3.$bundler _1.17.3_ install などとして再度 gem を入れ直す 4.新しくできた gemfile.lock を確認して、BUNDLED WITH 1.17.3 みたいなことが書 いてあれば、多分できます すると、普通にできました。 補足知識 Gemfile.lock は最初の bundle install で作成され、そこには install した gem と その version が書かれている。 Gemfile を書き直して、bundle install したら、gemfile.lock も書き換わる bundle update すると、gemfile.lock を無視して最新の gem が install されるの で、bundle update はあまりしないこと。 また、bundle install の際は--path vendor/bundle を書けば、rails アプリのルー トディレクトリの下の vendor/bundle ディレクトリにインストールされ、MacPC にイン ストールせずに、そのアプリケーションの中だけ(vender/bundle のところ)にインスト ールされる。次回以降--path vendor/bundle を書く必要はない。 bundler の gem を使う際は、bundle exec を忘れないように All right @yoshijbbsk1121 が 2019 年 02 月 12 日