Is it possible to change Passenger Ruby version without recompiling?

11,589

Solution 1

To set the Ruby version add this line to your vhost file:

PassengerRuby /path/to/the/ruby/version/you/want/to/use

Solution 2

Whenever a "bundle update" updates the version of the passenger gem, I do

sudo su -
passenger-install-apache2-module

At the end of that process, it spits out the full blob of stuff that you need to put at the top or your Apache config. E.g. something like:

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.2-p180@rails31/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-1.9.2-p180@rails31/gems/passenger-3.0.9
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.2-p180@rails31/ruby

I update the blob of stuff, restart Apache and all seems well.

I imagine that this same process is necessary after updating Ruby.

Solution 3

Set PassengerRuby before the <Directory> tag.

Example:

PassengerRuby /home/ubuntu/.rvm/wrappers/ruby-2.3.1/ruby

It is working for me!

Find more detail in this post.

Share:
11,589
Zequez
Author by

Zequez

Ohh, fancy space to write something.

Updated on June 05, 2022

Comments

  • Zequez
    Zequez almost 2 years

    I tried changing the default ruby command to 1.9.2 but Passenger keeps running 1.8.7

    Is Passenger compiled with Ruby embedded?

  • sosborn
    sosborn about 12 years
    @marimaf it depends entirely on your hosting setup.
  • marimaf
    marimaf about 12 years
    I just ran $locate vhost and didnt get any files named just vhost. All I got where some apache http_vhost.h, mod_vhost_alias.so and httpd-vhosts.conf
  • sosborn
    sosborn about 12 years
    Well, like I said everything would depend on your setup. The conf is what you are looking for. If you want more info you should ask a new question on serverfault.com