2013-06-13 2 views
1

Недавно я обновился с Ruby 1.9.3 до версии 2.0.0. Для этого я использовал следующую команду:Обновление до Ruby 2.0.0 привело к тому, что «Rails в настоящее время не установлена ​​в этой системе»

$ rvm install ruby-2.0.0 
$ rvm --default use ruby-2.0.0 

Он успешно установлен и установлен как стандартный ruby-2.0.0; Однако, когда я вхожу ruby -v я сталкиваюсь ошибка:

Rails is not currently installed on this system. To get the latest version, simply type: 

    $ sudo gem install rails 

You can then rerun your "rails" command. 

Я знаю, установлен Rails, и перед обновлением моей версии Ruby, я выбежал рельсы -v, которые возвращали мою текущую версию.

Попытки Устранение

Я последовал за найденное решение на an earlier post и побежал следующие команды:

gemsets for ruby-1.9.3-p374 (found in /Users/.../.rvm/gems/ruby-1.9.3-p374) 
    (default) 
=> global 
    rails3tutorial2ndEd 

/etc/rvmrc: line 5: install:: command not found 
/etc/rvmrc: line 6: update:: command not found 

gemsets for ruby-2.0.0-rc1 (found in /Users/.../.rvm/gems/ruby-2.0.0-rc1) 
    (default) 
=> global 

rvm use [email protected] 

Однако запуск rails -v снова показывает, что проблема все еще сохраняется.

Любая помощь была бы принята с благодарностью!

Update:

нетерпение привело меня просто заново установить Rails, который исправил проблему. Тем не менее, мне все еще интересно, был ли лучший способ устранить эту проблему без (вероятно, без необходимости) повторной установки Rails.

ответ

2

Gemsets в RVM изолированы тем, что они доступны только для одной версии Ruby. Таким образом, после установки новой версии Ruby вам необходимо повторно установить камень Rails.

Когда версия Ruby устанавливается через RVM, одновременно создаются 2 связанных геммета. Один из них называется «глобальным», а один называется «по умолчанию».

Рубиновые версии (и их одиночный связанный глобальный гемсет) активируются с помощью команды rvm use ruby_version_here.

По умолчанию или (потенциально несколько) созданные пользователем gemsets активируются с помощью команды rvm use gemset_name_here.

Является ли gemset глобальным, по умолчанию или сгенерированным пользователем - он доступен только для одной версии Ruby.

Вот nice blog post, посвященный теме чуть подробнее.

Смежные вопросы