2011-10-04 14 views
5

Zainstalowałem rbenv i ruby-build. Następnie zainstalowałem ruby ​​1.9.2p290. Wszystko wyglądało dobrze.Jak zmusić Railsy do korzystania z wersji Ruby (managed with rbenv), której chcę?

$ 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] 
... 

Ale kiedy uruchomię moją aplikację, nadal używa ona ruby ​​1.8.7. (metody, które istnieją w 1.9 nie powiodły się). Wszystko w szynach/konsoli działa jak 1.8, aw IRB działa jak 1,9.

Jak zmusić moją aplikację do korzystania z wersji 1.9?

Jestem zaznajomiony z RVM, konkretnie pytam o rbenv.

+0

Co oznacza "po uruchomieniu aplikacji"? Z jakiego serwera aplikacji korzystasz? – jdl

+0

Używam go lokalnie, używając WEBrick. Te same problemy występują również przy użyciu szyn/konsol. Zaktualizowałem swoją odpowiedź, aby pokazać konkretny wynik serwera odwołujący się do 1.8.7 –

+0

Skrypty te odnoszą się do '/ usr/bin/env'. Co mówi ci "/ usr/bin/env ruby ​​-v"? – jdl

Odpowiedz

5

Czy zainstalowałeś Railsy z bundle install? Jeśli tak, zwróć uwagę, że program Bundler nie dodaje plików wykonywalnych do katalogu wykonywalnego Ruby.

Zamiast używać binstubs lub bundle exec (documentation):

bundle exec rails server 

W przypadku, gdy nie zainstalować Rails z Bundler, prawdopodobnie powinien zrobić rbenv rehash zaktualizować wykonywalne podkładek. Wtedy rails server powinien działać dobrze. Będzie to jednak działało tylko wtedy, gdy Railsy zostały zainstalowane bezpośrednio z Rubygem, więc jest to niewiarygodny sposób wywoływania Railsów.

+0

WebRick właśnie zaczynał z 1.8.7! To działało dla mnie. Dzięki. – Sawant

Powiązane problemy