2011-10-04 3 views
5

rbenv 및 ruby-build가 설치되었습니다. 그런 다음 루비 1.9.2p290을 설치했습니다. 모든 것이 좋았습니다.Rails에서 원하는 rbenv 버전의 Ruby를 사용하도록 강제 설정하려면 어떻게해야합니까?

$ cd my_rails_app 
$ ruby -v 
1.9.2p290 
$ rails server 
... 
[2011-10-04 13:51:01] INFO WEBrick 1.3.1 
[2011-10-04 13:51:01] INFO ruby 1.8.7 (2010-01-10) [universal-darwin11.0] 
... 

그러나 내 앱을 실행할 때 여전히 1.8.7을 사용하고 있습니다. (1.9에서 실패한 메소드). 레일/콘솔의 모든 기능은 1.8과 같고 IRB의 기능은 1.9와 같습니다.

어떻게 내 앱이 1.9를 사용하도록 강제 할 수 있습니까?

저는 RVM에 익숙합니다. 저는 특별히 rbenv에 대해 묻고 있습니다.

+0

"내 앱을 실행할 때"란 의미는 무엇입니까? 어떤 앱 서버를 사용하고 있습니까? – jdl

+0

WEBrick을 사용하여 로컬로 실행하고 있습니다. 레일즈/콘솔을 사용해도 같은 문제가 발생합니다. 1.8.7 –

+0

을 참조하는 특정 서버 출력을 표시하도록 내 대답을 업데이트했습니다. 해당 스크립트는'/ usr/bin/env'를 참조합니다. '/ usr/bin/env ruby ​​-v'는 무엇을 말합니까? – jdl

답변

5

레일을 bundle install과 함께 설치 했습니까? 그렇다면 Bundler는 실행 파일을 Ruby의 실행 가능 디렉토리에 추가하지 않습니다. 당신이 Bundler를 함께 레일을 설치하지 않은 경우

bundle exec rails server 

, 당신은 아마 실행 심을 업데이트하기 rbenv rehash을 수행해야합니다

대신, binstubs 또는 bundle exec (documentation)를 사용합니다. 그럼 rails server 잘 작동합니다. 그러나 이것은 Rails가 Rubygems와 직접 설치되어있는 경우에만 작동하므로 Rails를 호출하는 신뢰할 수없는 방법입니다.

+0

WebRick은 1.8.7부터 시작되었습니다! 이것은 나를 위해 일했다. 감사. – Sawant

관련 문제