I’m in the final stages of upgrading my Rails 2.3 app to Rails 3.2. In this stage, I’ve also upgraded from Ruby 1.8.7 to 1.9.3. That’s meant a new version of the capistrano gem, and the inclusion of require ‘bundler/capistrano’ in deploy.rb.
cap deploy currently executes fine until it gets to a step where it’s trying to run bundle install on the production (ubuntu 12.04) server. There it gives the error message “Cannot write a changed lockfile while frozen.”
Googling this error leads to a few SO threads and some issue reports for bundler that point to a problem with Gemfile.lock being created on a Windows machine (with mingw-platform gems) and then being deployed on a unix machine. That would appear to apply to me. Some workarounds using the :platform option are mentioned, but they don’t seem to solve my issue. I have the latest version of bundler installed on both machines (1.3.5) and my Gemfile simply says gem ‘bundler’ with no version number specified.
Prior to this point, I haven’t had a capistrano recipe in place to run bundle install. Instead, I’ve simply manually installed new gems as needed on the production server when deploy error messages mentioned missing gems. Now that capistrano is trying to run bundle install, the problems have arisen.
Any help would be greatly appreciated. I basically can’t deploy any changes to my app as things stand.
Thanks very much,