2011-10-04 9 views
5

Instalé rbenv y ruby-build. Luego instalé ruby ​​1.9.2p290. Todo se veía bien.¿Cómo forzo a Rails a utilizar la versión de Ruby (administrada con rbenv) que deseo?

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

Pero cuando ejecuto mi aplicación, todavía está usando ruby ​​1.8.7. (los métodos que existen en 1.9 fallan). Todo en rieles/consola actúa como 1.8, y dentro de IRB actúa como 1.9.

¿Cómo puedo forzar a mi aplicación a utilizar 1.9?

Estoy familiarizado con RVM, específicamente estoy preguntando por rbenv.

+0

¿Qué significa "cuando ejecuto mi aplicación"? ¿Qué servidor de aplicaciones estás usando? – jdl

+0

Lo estoy ejecutando localmente, usando WEBrick. También experimento los mismos problemas usando los rieles/consola. Actualicé mi respuesta para mostrar la salida del servidor específico que hace referencia a 1.8.7 –

+0

Esas secuencias de comandos hacen referencia '/ usr/bin/env'. ¿Qué te dice '/ usr/bin/env ruby ​​-v'? – jdl

Respuesta

5

¿Ha instalado Rails con bundle install? Si es así, tenga en cuenta que Bundler no agrega los ejecutables al directorio ejecutable de Ruby.

su lugar, utilice binstubs o bundle exec (documentation):

bundle exec rails server 

En caso de que no instaló rieles con Bündler, probablemente debería hacer una rbenv rehash para actualizar las cuñas ejecutables. Entonces rails server debería funcionar bien. Sin embargo, esto solo funcionará si Rails se instaló con Rubygems directamente, por lo que es una forma poco confiable de invocar Rails.

+0

¡WebRick simplemente comenzó con 1.8.7! Esto funcionó para mí. Gracias. – Sawant

Cuestiones relacionadas