Phusion Passenger: проблема при развертывании приложения на локальном компьютере - PullRequest
0 голосов
/ 05 января 2012

Я использую Mac OS Snow Leopard, Apache Server, Phusion Passenger и RVM и пытаюсь развернуть на локальном компьютере приложение RoR.

В моем файле ~.etc/apache/httpd.conf есть:

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName mysite.com
  DocumentRoot /Users/MyUserName/Sites/mysite.com/public

  <Directory /Users/MyUserName/Sites/mysite.com/public>
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

Когда я просматриваю адрес mysite.com, я получаю следующую ошибку Phusion Passenger:

Error message:
    no such file to load -- bundler
Exception class:
    LoadError
Application root:
    /Users/MyUserName/Sites/mysite.com

Backtrace:
    #   File    Line    Location
    0   /Users/MyUserName/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb   36  in `require'
    1   /Users/MyUserName/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb   36  in `require'
    ...

Как мне решить эту проблему?


Консольные выходы:

$ /usr/bin/ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin10.0]

$ echo $PATH
/Users/MyUserName/.rvm/gems/ruby-1.9.2-p290/bin:/Users/MyUserName/.rvm/gems/ruby-1.9.2-p290@global/bin:/Users/MyUserName/.rvm/rubies/ruby-1.9.2-p290/bin:/Users/MyUserName/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin

$ which ruby gem irb rake
/Users/MyUserName/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
/Users/MyUserName/.rvm/rubies/ruby-1.9.2-p290/bin/gem
/Users/MyUserName/.rvm/rubies/ruby-1.9.2-p290/bin/irb
/Users/MyUserName/.rvm/gems/ruby-1.9.2-p290/bin/rake

$ irb
1.9.2-p290 :001 > require "bundler"
 => true

1 Ответ

0 голосов
/ 05 января 2012

Я думаю, что у вас может быть несоответствие в том, какие версии ruby ​​используются.

Apache / passenger, вероятно, настроен для использования вашей системы ruby ​​(1.8.7-p249), а не версии ruby, которую вы, очевидно, используете с rvm, и я думаю, причина, по которой вы получаете сообщение, что пассажир не можетВы обнаружите, что bundler связан с тем, что вы не установили bundler, используя системный ruby.

Это можно исправить либо установив bundler в системной версии ruby, либо попросив пассажиров использовать любую версию ruby, установленную вами через rvm.

...