Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't deploy Rails app with Capistrano and RVM

I have a Rails app that I've been deploying with Capistrano. I installed RVM on the server since I wanted to use a newer version of Ruby and added this to my deploy.rb file (per various instructions I found):

$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require 'rvm/capistrano'
set :rvm_ruby_string, '1.9.2'
set :rvm_type, :user

When I run, cap deploy, this happens:

    [staging.example.com] executing command
 ** [out :: staging.example.com] /usr/local/lib/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem bundler (>= 0) (
 ** [out :: staging.example.com] Gem::LoadError)
 ** [out :: staging.example.com] from /usr/local/lib/site_ruby/1.8/rubygems.rb:214:in `activate'
 ** [out :: staging.example.com] from /usr/local/lib/site_ruby/1.8/rubygems.rb:1082:in `gem'
 ** [out :: staging.example.com] from /usr/bin/bundle:18
    command finished in 801ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /home/example/staging.example.com/releases/20110714180125; true"
    servers: ["staging.example.com"]
    [staging.example.com] executing command
    command finished in 895ms
    failed: "rvm_path=$HOME/.rvm/ /usr/local/bin/rvm-shell '1.9.2' -c 'bundle install --gemfile /home/example/staging.example.com/releases/20110714180125/Gemfile --path /home/example/staging.example.com/shared/bundle --deployment --quiet --without development production'" on staging.example.com

Why is capistrano using Ruby 1.8? My path is obviously messed up, too.

Here's the output of rvm info on staging.example.com:

ruby-1.9.2-p180:

system:
  uname:       "Linux staging 2.6.39.1-linode34 #1 SMP Tue Jun 21 10:29:24 EDT 2011 i686 GNU/Linux"
  bash:        "/bin/bash => GNU bash, version 4.1.5(1)-release (i486-pc-linux-gnu)"
  zsh:         " => not installed"

rvm:
  version:      "rvm 1.6.22 by Wayne E. Seguin ([email protected]) [https://rvm.beginrescueend.com/]"

ruby:
  interpreter:  "ruby"
  version:      "1.9.2p180"
  date:         "2011-02-18"
  platform:     "i686-linux"
  patchlevel:   "2011-02-18 revision 30909"
  full_version: "ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]"

homes:
  gem:          "/home/example/.rvm/gems/ruby-1.9.2-p180"
  ruby:         "/home/example/.rvm/rubies/ruby-1.9.2-p180"

binaries:
  ruby:         "/home/example/.rvm/bin/ruby"
  irb:          "/home/example/.rvm/bin/irb"
  gem:          "/home/example/.rvm/bin/gem"
  rake:         "/home/example/.rvm/bin/rake"

environment:
  PATH:         "/home/example/.rvm/bin:/home/example/.rvm/gems/ruby-1.9.2-p180/bin:/home/example/.rvm/gems/ruby-1.9.2-p180@global/bin:/home/example/.rvm/rubies/ruby-1.9.2-p180/bin:/home/example/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/ruby/bin"
  GEM_HOME:     "/home/example/.rvm/gems/ruby-1.9.2-p180"
  GEM_PATH:     "/home/example/.rvm/gems/ruby-1.9.2-p180:/home/example/.rvm/gems/ruby-1.9.2-p180@global"
  MY_RUBY_HOME: "/home/example/.rvm/rubies/ruby-1.9.2-p180"
  IRBRC:        "/home/example/.rvm/rubies/ruby-1.9.2-p180/.irbrc"
  RUBYOPT:      ""
  gemset:       ""
like image 573
Devin Avatar asked Jul 14 '11 18:07

Devin


2 Answers

Actually the latest docs on rvm-capistrano documentation page stated that it must be something like this:

# RVM bootstrap: change to your Ruby and GemSet
require 'rvm/capistrano'
set :rvm_ruby_string,  ENV['GEM_HOME'].gsub(/.*\//,"")
set :rvm_type, :user
like image 109
Jahan Zinedine Avatar answered Sep 21 '22 07:09

Jahan Zinedine


failed: "rvm_path=$HOME/.rvm/ /usr/local/bin/rvm-shell '1.9.2' -c 'bundle install --gemfile /home/example/staging.example.com/releases/20110714180125/Gemfile --path /home/example/staging.example.com/shared/bundle --deployment --quiet --without development production'

Make sure you have bundler installed and right path while running bundle install in server. If it is not installed then run gem install bundler to install.

like image 27
ashisrai_ Avatar answered Sep 22 '22 07:09

ashisrai_