9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HerokuはまだBundler2.0に対応していない?

Posted at

tl:dr

あるRailsアプリケーションをHerokuを使ってデプロイしようとした際に、
bundlerに関してのエラーが出たので、その備忘録的な感じで本記事を書きます。

過程

先日、Rubyのversionを2.5.3から2.6.0にupした際に

$ gem i bundler
$ gem i rails

を実行。こうすると、stableな最新のversionのgemがインスコされるので、
bundlerのversionが2.0.1で入ってしまった。。。

ローカルでは動くので問題ないのですが、色々ググるとherokuだと、まだ対応していならしい。

やってみたこと

$ heroku buildpacks:set https://github.com/bundler/heroku-buildpack-bundler2

このコマンドを実行するとうまくいくと記述されている記事もありましたが、それだと$ git push heroku masterは通りますが、heroku run rails db:migrateでコケる、、、

結論

remote: /tmp/d20181113-113-10miq1y/bundler-1.15.2/gems/bundler-1.15.2/lib/bundler/lockfile_parser.rb:108:in warn_for_outdated_bundler_version': You must use Bundler 2 or greater with this lockfile. (Bundler::LockfileError)

エラーが出てしまいます。
このissueを読むとbundler2のbuildpackを設定してもまだ対応されてないよ!との記述があったため、諦めてbundlerのverionを1.17.3に下げたら動きました。

bundlerのversionの下げ方

$ gem uninstall bundler # bundlerをアンインストール

$ gem install bundler -v 1.17.3 # version明記

$ rm Gemfile.lock # Gemdile.lockがgemのversionを明記しているため、一旦削除

$ bundle install

$ git 関連の諸々 ,,,

$ git push heroku master

$ heroku run bash

$ rails db:migrate or $ bundle exec rails db:schema:load

でうまくいくかと思います。

参考文献

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?