Posted about 3 years ago. Visible to the public.
During deployment: "You are trying to install in deployment mode after changing your Gemfile"
While deploying an Ruby update to an old application these days, we encountered the following misleading error:
Copy*** [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:
CopyBUNDLED 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).