无法在Snow Leopard上安装乘客3(使用RVM和ruby 1.9.2)

我一直试图安装乘客但还没有成功。

我安装了gem,但是当我跑的时候

passenger-install-apache2-module 

它告诉我

 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. 

但如果我这样做

 sudo passenger-install-apache2-module 

我明白了

 /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) 

来自/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:in gem’from /Users/myname/.rvm/gems/ruby-1.9.2-p0/bin/passenger-install-apache2-module :18:”

我试着看看那些文件,但无法理解什么是错的。

你能帮忙吗?

谢谢,P

两种解决方案

  1. 使用rvmsudo,而不是sudo。
  2. 修复目录权限。 /Users/myname/.rvm应该可以为myname写,但由于某种原因你导致不是这样的。

我认为您可以使用系统ruby而不是RVM ruby​​来安装乘客:

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

我实际上chmod文件夹Shingara建议,它的工作原理。

唯一让我无法理解的是为什么用sudo发出命令会导致问题:(

谢谢你的帮助!