While deploying an Ruby update to an old application these days, we encountered the following misleading error:
*** [err :: some-host.makandra.de] You are trying to install in deployment mode after changing
*** [err :: some-host.makandra.de] your Gemfile. Run `bundle install` elsewhere and add the
*** [err :: some-host.makandra.de] updated Gemfile.lock to version control.
*** [err :: some-host.makandra.de]
*** [err :: some-host.makandra.de] You have deleted from the Gemfile:
*** [err :: some-host.makandra.de] *
We found out a newer version of bundler
runs on the machines to be deployed to (see bundle -v
, it was 2.0.1
in our case) while in the Gemfile.lock
an old version of bundler is mentioned in the BUNDLED_WITH
block:
BUNDLED WITH
1.17.1
This broke during deployment while Capistrano tries to run bundle --deployment --quiet --without development test
. On our development machines bundle install
run successfully.
Fix this by making sure both sides use the same major versions of bundler (preferably 2.x).