2017-01-31 11 views
1

Привет, ребята, интересно, может ли кто-нибудь объяснить возникшую у меня проблему, чтобы я мог понять, что происходит.Обновление версии Ruby и Rails Совместимость

В настоящее время я выполняю рубин 2.2.2 и рельсы 5. У меня есть небольшое тестовое приложение, и все работает нормально. Я решил обновить рубин до версии 2.4.0, ни по какой другой причине, чем я думаю, что должен знать, как это сделать, и в результате ошибок и т. Д., Поэтому это упражнение.

После обновления рубина до 2.4.0, который идет нормально, команда rails -v возвращает рельсы не установлены. Если я затем вернусь к старому рубину 2.2.2 rvm use ruby-2.2.2 запустите rails -v, тогда возвращается рельс 5.0.1. Что тут происходит?

Благодаря

ответ

2

РВМ дает отдельный каталог драгоценных камней для каждого и каждой версии Ruby, и gemset. Это означает, что драгоценные камни должны быть явно установлены для каждой ревизии и gemset. Обычно процесс миграции выглядит следующим образом:

rvm use ruby-2.4.0 
# or `rvm --default use ruby-2.4.0` if you want to use 2.4.0 from now on 
gem install rails -v 5.0.1 # an example, use any version you like 
gem install bundler 
bundle install # to install all other project gems 

См RVM gemsets documentation page.

+0

Brilliant, спасибо, что нашли время, чтобы ответить. Интересно, можете ли вы разбить его на детские шаги для меня, поскольку у меня все еще есть некоторые основные части головоломки. Его крутая кривая. Какие шаги мне нужно предпринять, чтобы я мог запускать рельсы 5 с моей обновленной установкой 2.4.0? Спасибо за помощь. –

+0

@MysticChimp см. Обновленный ответ –

+1

Удивительная благодарность за то, что нашли время, очень ценили. –

1

Расширение @ Slava.K «s ответ

У меня есть небольшой тест приложение и все работает отлично. Я решил обновить рубин до версии 2.4.0, ни по какой другой причине, по-моему, я должен был знать , как это сделать и результирующие ловушки и т. Д., Поэтому учебное упражнение.

  • При обновлении рубин до 2.4.0, это станет вашим новым номером рубин версия , таким образом, вы не будете иметь никаких ссылок на rails и bundler.
  • Вам нужно будет сделать gem install rails -v x.x.x и gem install bundler.
  • Теперь, когда вы сделаете rails -v, это напечатает версию номер установленных рельсов для данного рубины.

После обновления рубина в 2.4.0, который идет хорошо команда рельсы -v возвращается рельсы не установлен. Если я вернусь к более раннему рубину 2.2.2 rvm используйте ruby-2.2.2 run rails -v, тогда возвращаются рельсы 5.0.1. Что происходит ?

  • Как я уже упоминал выше, уже, установка рельсов является обязательным при обновлении Ruby. Так не рельсы установлены, не номер версии для отображения

  • gem env home =>../versions/jruby-1.7.12/lib/ruby/gems/shared
    • покажет вам расположение установленных драгоценных камней.
  • Я perefer использовать rbenv над rvm