В результате обновления до Ruby 2.0.0 "Rails в настоящее время не установлен в этой системе"

Я недавно обновил Ruby 1.9.3 до версии 2.0.0. Для этого я использовал следующую команду:

$ 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 я запустил rails -v, который вернул мою текущую версию.

Попытки устранения неполадок

Я следовал решению, найденному в предыдущем посте, и выполнил следующие команды:

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 ruby-2.0.0-rc1@global

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

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

Обновить:

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

1 ответ

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

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

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

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

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

Вот хороший пост в блоге, освещающий эту тему более подробно.

Другие вопросы по тегам