2011-10-23 20 views
6

私は運用サーバー上でRVMからrbenvに移動しました。私は "rvm implode"を使ってrvmをアンインストールし、rbenv、ruby 1.9.2、rails、passenger、nginx-moduleをインストールしました。 私は次のようにpassenger_rootを変更することから離れて、私のoriginlal nginx.confを変更していない:rbenvに移動すると乗客が壊れます(nginx)

[error] 1291#0: *105 open() "/home/passenger/grabber/current/public/view" failed (2: No such file or directory) 

1st Try: 
passenger_root /root/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/passenger-3.0.9; 
passenger_ruby /root/.rbenv/versions/1.9.2-p290/bin/ruby; 
2nd Try: 
passenger_root /root/.rbenv/shims/passenger; 
passenger_ruby /root/.rbenv/shims/ruby; 

を今、私はerror.logファイルに次のエラーを参照してください自分のアプリケーションを実行しようとすると、

これは明らかに乗客が着手しておらず、レールアプリが認識されていないことを示しています。私は手動で乗客を起動しようとすると、私は次のエラーを取得する:

[ pid=17605 thr=70022120 file=utils.rb:176 time=2011-10-23 23:40:41.917 ]: *** Exception LoadError in PhusionPassenger::Rack::ApplicationSpawner (libruby.so.1.9: cannot open shared object file: No such file or directory - /home/passenger/grabber/shared/bundle/ruby/1.9.1/gems/nokogiri-1.5.0/lib/nokogiri/nokogiri.so) (process 17605, thread #<Thread:0x858e7d0>): 
from /home/passenger/grabber/shared/bundle/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require' 

私は鋸山何回かインストールしていると私は私の宝石リストに鋸山見ることができます。私はなぜrbenvへの移動が私のために乗客を壊しているのか分からない。

+0

ここにヘルプがありますか? – Ved

+0

とにかく、私はrbenvを削除し、RVMに戻しました。いい厄介払い。 – Ved

答えて

-12

(あなたは足で自分を撃つ前に、あなたがこれを知っていることを確認してください)旅客とrbenvの間には互換性はないように思える - 私はrbenvを取り外し、バックRVMへ移動...

+2

これは間違っています。 – briangonzalez

+1

偽アサーション。乗客とrbenvはうまく動作します。 – gdurelle

19

はそれを使用することが可能ですrbenv、nginx、乗客。システム全体でインストールする人もいます。 http://blakewilliams.me/blog/4-system-wide-rbenv-install

私は現在、あなたがrbenvをインストールして.bashrcに正しいrbenv initをを持っていると仮定すると、ので、私の開発環境でテストしています:

gem install passenger 
rbenv rehash 
sudo bash -c "source ~/.bashrc && passenger-install-nginx-module" 

あなたはgem install passengerシムを取得する必要があります。乗客をインストールするbundle installを行うことは、これらを与えることはありません。

最後に:

rbenv which ruby 

あなたpassenger_rubyパス:

passenger-config --root 

は、あなたのpassenger_rootパスとを与えます。

乗客shimは実行可能ファイルを指していますが、passenger_rootはそのフォルダへのパスでなければなりません。私はルビーシムを使ってみましたが、うまくいきません。なぜ私はまだ掘り下げていない。

私は私のGemfileにノコギリの宝石を持っています。ああ、もしあなたが.rvmrcおよび/またはconfig/setup_load_paths.rbを持っていれば、乗客のオートロードバンドラとしてこれらを取り除いても安全です。

これでもう少しテストを行う必要がありますが、それほど良いことはありません。

+0

最近のブログ記事へのリンクを変更しましたが、動作していることを確認していません。誰かが確認したら、私に知らせてください。 – PhilT

+1

rbenvの "サポート"は、Rubyアプリケーションごとに異なるルビバイナリを持ち、各アプリケーションの設定を使用して選択するrbenvの実際の機能をサポートするようです。 rbenvを手作業でバイパスし、特定のRubyバイナリでPassengerを設定する必要があります。また、すべてのPassengerで1つのRubyバイナリしか指定できません。 @Vedは本質的に正しいですが、サポートされていません。しかしどちらもrvmではありません。 –

関連する問題