Почему Rails использует старую версию Ruby, хотя я обновил ее? - PullRequest
0 голосов
/ 04 июня 2011

У меня есть машина с Ubuntu с установленным Ruby 1.8.

Я скопировал в нее свое приложение Rails и сделал bundle install.Установлено все отлично.Приложение требует Ruby 1.9, поэтому я скачал исходный код Ruby, скомпилировал и установил его.

Когда я делаю ruby -v, я получаю ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux], но когда я делаю RUBY_VERSION на rails consoleЯ получаю 1.8.7.Когда я пытаюсь запустить приложение Rails, оно не работает.Мое приложение Rails использует более старую версию Ruby, даже когда она работает с консоли и везде, и работает нормально.Черт, я даже создал новое приложение Rails, и оно использует более новую версию.

Есть идеи, что происходит?

Ответы [ 2 ]

0 голосов
/ 04 июня 2011

тип "какой рубин" и "какой ирб"

вы должны увидеть путь с ~ / .rvm / в нем ... но держу пари, что у вас есть где-то в вашей системе старая версия ruby ​​и irb .. вероятно, в / usr / bin

чтобы избавиться от этого, вам нужно установить версию ruby ​​по умолчанию в RVM и , вам нужно убедиться, что RVM настроен правильно (например, в вашем файле .bashrc или .bash_profile)

напечатайте "список rvm" .. и вы должны увидеть что-то вроде этого:

$ rvm list

rvm rubies

   ruby-1.8.7-p302 [ x86_64 ]
=> ruby-1.9.2-p0 [ x86_64 ]

ПРИМЕЧАНИЕ: вы должны увидеть стрелку, указывающую на 1.9.2, которая указывает, что это версия по умолчанию

если он не установлен по умолчанию, введите: "rvm --default use 1.9.2"

Также проверьте «printenv PATH», чтобы убедиться, что каталоги .rvm располагаются перед / usr / bin в PATH

0 голосов
/ 04 июня 2011

Подождите ... вы на самом деле скомпилировали его из исходного кода?Скорее всего, у вас есть новая версия ruby ​​в пути к консоли, но у вашего приложения ее нет.Удалите ruby ​​из вашей системы и используйте RVM таким образом, чтобы вы могли управлять своими версиями ruby.

...