2011-10-23 5 views
6

프로덕션 서버에서 RVM에서 rbenv로 이동했습니다. 나는 "rvm implode"를 사용하여 rvm을 제거하고 rbenv, ruby ​​1.9.2, 레일즈, 승객 및 nginx- 모듈을 설치했습니다. 나는 다음과 같이 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, nginx 및 승객. 일부는 시스템 전체 설치를 마쳤습니다. http://blakewilliams.me/blog/4-system-wide-rbenv-install

나는 현재 당신이 rbenv를 설치하고 .bashrc 올바른 rbenv 초기화를 한 가정, 나의 개발 환경에서 테스트하고 있습니다 :

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

당신은 gem install passenger 심을 얻을해야합니다. 승객을 설치하기 위해 bundle install을하는 것은 당신에게 이것을주지 않을 것입니다. 마지막으로

:

passenger-config --root 

는 당신에게 당신의 passenger_root 경로를 제공 할 것이다 :

rbenv which ruby 

당신의 passenger_ruby 경로.

여객 shim이 실행 파일을 가리키고 있지만 passenger_root은 해당 폴더의 경로 여야합니다. 나는 루비 심 (shim)을 사용해 보았지만 작동하지 않는다. 나는 왜 아직 파고 들어 본 적이 없다.

현재, 내 Gemfile에 nokogiri 보석이 있습니다. 아, 또한 .rvmrc 및/또는 config/setup_load_paths.rb 인 경우 승객 자동로드 번거러로이를 제거하는 것이 안전해야합니다.

아직까지는 더 많은 테스트가 필요하지만 지금까지는 그렇게 할 필요가 있습니다.

+2

이것은 잘못된 것입니다. – briangonzalez

+1

거짓 주장. 승객과 rbenv 잘 작동합니다. – gdurelle

19

사용할 수 있습니다 ... 그래서 rbenv를 제거하고 다시 RVM에 이동 -

+0

최근 블로그 게시물에 대한 링크가 변경되었지만 제대로 작동하는지 확인하지 못했습니다. 누구든지 확인하면 알려주세요. – PhilT

+1

rbenv에 대한 "지원"은 rbenv의 실제 기능을 지원하는 것처럼 보입니다. rbenv는 각 Ruby 응용 프로그램에 대해 서로 다른 루비 바이너리를 가지며 각 응용 프로그램의 구성을 사용하여 선택합니다. rbenv를 수동으로 우회하여 특정 Ruby 바이너리로 Passenger를 구성해야하며 모든 Passenger에 대해 하나의 루비 바이너리 만 지정할 수 있습니다. @Ved는 기본적으로 정확하며 지원되지 않습니다. 그러나 둘 다 rvm입니다. –

관련 문제