Could not find activesupport-3.0.12 in any of the sources (Bundler::GemNotFound)

Problem

You are trying to update your rails app deployed on a server, for example from 3.0.11 to 3.0.12, and at the same time trying to update the Ruby version from 1.9.2 to 1.9.3 but you are getting the following error from passenger:

    Could not find activesupport-3.0.12 in any of the sources (Bundler::GemNotFound)

Solution

You would need to reinstall and compile the passenger module with the newest Ruby 1.9.3 installation.

gem install passenger

passenger-install-apache2-module

and then modify the apache configuration file as in:

The Apache 2 module was successfully installed.                   

Please edit your Apache configuration file, and add these lines:

   LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p125/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
   PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p125/gems/passenger-3.0.11
   PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p125/ruby

After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!

and then reload your apache configuration

sudo /etc/init.di/apache2 reload

Creating a Vagrant Box with Debian Lenny 32, rvm and Ruby 1.9.3

As an addition to the excellent beta book ‘Deploying Rails’, as I had problems using the suggested lucid64 image, I’ve tried to install a debian lenny 32 image with rvm and Ruby 1.9.3.

The steps needed are listed below

 

  1. Download the lenny package:
    localhost$ vagrant box add debian-lenny-32 https://s3-eu-west-1.amazonaws.com/glassesdirect-boxen/debian/debian_lenny_32.box
  2. Make a new directory for the virtual box:
    localhost$ mkdir -p ~/deployingrails/lenny32
  3. change into created directory and create the Vagrant file:
    localhost$ cd ~/deployingrails/lenny32
    vagrant init
  4. change the Vagrant file to use the virtual box we have downloaded:
    Vagrant::Config.run do |config|
      config.vm.box = "lenny32"
    end
  5. Start the VM:
    localhost$ vagrant up
  6. If there is a warning about the Guest additions here install the latest guest additions by following the description here, but only use the update and upgrade steps as:
    localhost$ vagrant ssh
    vagrant$ sudo apt-get update
    vagrant$ sudo apt-get upgrade
  7. After finishing the upgrade logout (exit) from the VM and issue the command to restart the VM:
    localhost$ vagrant reload
  8. login to the VM again:
    localhost$ vagrant ssh
  9. Install curl to be able to download the installation script for:
    vagrant$ sudo apt-get install curl
  10. Download and install rvm by using the script described here http://beginrescueend.com/rvm/install/ :
    vagrant$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
  11. Add the loading of the RVM function into .bashrc, by running the following in the command prompt:
    vagrant$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bashrc
  12. Reload the bashrc file:
    vagrant$ source ~/.bashrc
  13. Make sure that the rvm is loaded as function:
    vagrant$ type rvm | head -1
    rvm is a function
  14. Run the rvm requirement to see the needed libraries and then run the suggested ones (except libreadline6 and libreadline6-dev that are not there in debian):
    vagrant$ sudo apt-get install build-essential openssl curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison
  15. Install Ruby 1.9.3 :
    vagrant$ rvm install ruby-1.9.3
  16. Use the ruby 1.9.3 as default:
    vagrant$ rvm use 1.9.3 --default
  17. Finally create a new VM package to use in future:
    localhost$ vagrant package --output lenny32-rvm-ruby193
  18. And add it our box list:

    localhost$ vagrant box add lenny32-rvm-ruby193 lenny32-rvm-ruby193
    localhost$ vagrant box list