Обновление до 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.


person Thai Nguyen    schedule 13.06.2013    source источник


Ответы (1)


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

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

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

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

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

Вот отличный пост в блоге Раскроем тему немного подробнее.

person Mike Strand    schedule 12.07.2013