无法在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
两种解决方案
- 使用rvmsudo,而不是sudo。
- 修复目录权限。 /Users/myname/.rvm应该可以为myname写,但由于某种原因你导致不是这样的。
我认为您可以使用系统ruby而不是RVM ruby来安装乘客:
rvm use default sudo gem install passenger sudo passenger-install-apache2-module
我实际上chmod文件夹Shingara建议,它的工作原理。
唯一让我无法理解的是为什么用sudo发出命令会导致问题:(
谢谢你的帮助!