2011-11-28 2 views
2

동료는 Nginx, Phusion Passenger 및 RVM을 사용하여 Rails 개발 환경을 운영하고 있습니다.Phusion Passenger에서 올바른 버전의 Ruby를 사용하려면 어떻게해야합니까?

The given ruby environment requires ruby-1.9.2-p290 (versus ree-1.8.7-2011.03) (RVM::IncompatibleRubyError) 

우리는 MRI 루비 REE에서 전환하는 그는이 프로젝트를로드하려고 할 때, 그것은 사용할 수있는 것보다 루비의 다른 버전을 필요로 뿌려줍니다. 다음은 내가 지금까지 확인한 내용입니다.

  • .rvmrc이 디렉토리는 rvm use --create [email protected]입니다.
  • rvm list default 반환 ruby-1.9.2-p290
  • 우리는 내가
  • 을 말할 수있는 지금까지, 1.9.2
  • Nginx에 대한 구성 파일이 제대로 passenger_rootpassenger_ruby을 설정을 사용하고 말한다 것을 변경하고 다시 디렉토리에와 본 적이
  • 승객은 Ruby 1.9.2로 컴파일되었습니다.

내가 누락 된 다른 것이 있습니까?

+0

문제는 그의 설정과 관련이있어서 결국 다른 사람에게 유용 할 것입니다. 더 이상 삭제할 수 없으므로 "너무 현지화 된"것으로 결론을 내 렸습니다. –

+0

그래,하지만 주석 달기 문서는 여전히 유효하다. :) – Ghoti

답변

0

승객은 특정 버전의 Ruby로 컴파일해야하며 그 시점부터 고정되어 있어야합니다. passenger-install-X-module 요법을 실행하지 않고 RVM에서 전환 할 수는 없습니다.

+0

잘 잡았지만 틀렸다. - Passenger는 Ruby 1.9.2로 컴파일되었다. 업데이트 된 질문. –

1

설명서를 읽어보십시오.

https://www.phusionpassenger.com/documentation_and_support#documentation

당신은 당신의 RVM 명령에 대한 --passenger 지정하여 래퍼를 사용하고 생성 래퍼를 사용하는 Apache 또는 Nginx에 말해. 루비는 컴파일되지 않습니다.

이것은 하나의 rvm 인스턴스 만 제공하지만 작동 할 것입니다.

여러 RVM 중 유일하게 작동하는 솔루션은 유니콘과 역방향 프록시를 실행중인 유니콘 프로세스에 사용하는 것입니다. 유니콘은 적절하게 확장되고 유능한 유엔 시민권 자입니다. 제가 개인적으로 생산을 위해 사용하는 것입니다.

EDIT - Passenger 3이 RVM에 좀 더 친숙한 것으로 나타났습니다 (위의 문서에서 설명) -하지만 여전히 래퍼에 대해 실행해야합니다.

Mac의 경우, dev에는 37 개의 신호가 있으며, POW라는 대안을 통해 개발 환경에 쉽게 구성 할 수 있습니다.

+1

새 사이트를 가리 키도록 링크가 업데이트되었습니다. – Ghoti

0

다른 루비를 사용하고 RVM을 존중 받으려면 apache + unicorn을 사용하십시오. Apache 용 mod_proxy 및 mod_rewrite 모듈을 설치하고 unicorn.conf로 unicorn_rails를 설정 한 다음 'unicorn_rails -E production -D -c config/unicorn.conf'를 실행하십시오. 이것은 rails app의 config 디렉토리에 unicorn에 대한 config를 넣었다고 가정합니다.

관련 문제