ruby-on-railsrubygitcapistranorubber

Downgrade rails gem with Rubber


I have a rails gem that I need to downgrade to an older version due to an issue with the newer version: aws-sdk

I've updated my local Gemfile and pushed to my git server to:

gem 'aws-sdk', '< 2.0'

Now, I need to get my production server updated with the downgraded gem, instead of the newer version that it currently has.

I tried cap deploy, but am getting this error:

 ** [out :: app01-myserver.com] You are trying to install in deployment mode after changing
 ** [out :: app01-myserver.com] 
 ** [out :: app01-myserver.com] your Gemfile. Run `bundle install` elsewhere and add the
 ** [out :: app01-myserver.com] 
 ** [out :: app01-myserver.com] updated Gemfile.lock to version control.
 ** [out :: app01-myserver.com] 
 ** [out :: app01-myserver.com] 
 ** [out :: app01-myserver.com] You have added to the Gemfile:
 ** [out :: app01-myserver.com] 
 ** [out :: app01-myserver.com] * aws-sdk (< 2.0)
 ** [out :: app01-myserver.com] 
 ** [out :: app01-myserver.com] You have deleted from the Gemfile:
 ** [out :: app01-myserver.com] * aws-sdk

So, is there a cap or rubber command that I can run from the command line that will update the Gemfile?


Solution

  • As described in error message, you should add your Gemfile.lock to git. After it just run bundle update aws-sdk, commit changes in Gemfile.lock, push it and deploy to the production server using cap.