7
votes

I've been trying to install passenger with no success yet.

I've installed the gem, but when I run

passenger-install-apache2-module

it tells me

This installer must be able to write to the following directory:
/Users/myname/.rvm/gems/ruby-1.9.2-p0/gems/passenger-3.0.0
But it can't do that, because you're running the installer as myname.
Please re-run this installer as root.

but if I do

sudo passenger-install-apache2-module

I get

/Users/myname/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:762:in `report_activate_error': Could not find RubyGem passenger (>= 0) (Gem::LoadError)

from /Users/myname/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:219:in activate' from /Users/myname/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:1065:ingem' from /Users/myname/.rvm/gems/ruby-1.9.2-p0/bin/passenger-install-apache2-module:18:in `'

I've tried to look at those files, but cannot understand what's wrong.

can you please help?

thanks, P

3
what right has your directory /Users/myname/.rvm/gems/ruby-1.9.2-p0/gems/ ? - shingara
I assume the second command you ran was "sudo passenger-install-apache2-module," not "passenger-install-apache2-module" again, right? - bnaul
Shingara: drwxr-xr-x // bnaul: you're right. corrected :) - Pierre

3 Answers

32
votes

Two solutions:

  1. Use rvmsudo, not sudo.
  2. Fix your directory permissions. /Users/myname/.rvm should be writable for myname but for some reason you caused that not to be the case.
0
votes

I think you can use system ruby instead of RVM ruby for installing passenger:

rvm use default
sudo gem install passenger
sudo passenger-install-apache2-module
0
votes

I actually chmod the folder as Shingara suggested and it worked.

the only thing I can't understand is why issuing the command with sudo lead to problems :(

thanks for your help!