Могу ли я обновить Ruby 2.1.2 с помощью Rails 3.2.3?
Прежде всего, я думаю, что это не запрещенный вопрос в StackOverflow, поскольку он представляет собой точный вопрос об окружающей среде, объективный вопрос. Но если это запрещено, сообщите мне.
В настоящее время я разрабатываю конкретный проект, который использует Ruby 1.9.3
и Rails 3.2.3
, на данный момент мы не можем выполнить обновление до Rails 4
, потому что зависят от проекта.
Мой вопрос:
Используя Rails 3.2.3, мы можем перейти на новую версию Ruby? Если да, то какая версия: Ruby 2.0, Ruby 2.1.2 или еще одна?
Кроме того, я искал в Google и StackOverflow, и я не нахожу такой вопрос.
Спасибо!
Ответы
Ответ 1
Первый выпуск rails, который официально поддерживает ruby 2.0, был 3.2.13 (см. объявление announcement в блоге rails.
Я развернул несколько приложений, работающих под управлением 3.2.15-3.2.17 и ruby 2.0 (с тех пор они были обновлены до rails 4) без каких-либо проблем, которые я помню.
Недавно выпущенный 3.2.22 поддерживает ruby 2.2 (объявление)
Ответ 2
Согласно конфигурации Travis, Rails 3.2.3 тестировался только с Ruby 1.8.7, 1.9.2 и 1.9.3, поэтому не рекомендуется использовать более позднюю версию Ruby (но вы всегда можете ее протестировать самостоятельно). Однако Rails 3.2.3 имеет некоторые известные уязвимости безопасности, которые исправлено в 3.2.19.
С другой стороны, конфигурация для Rails 3.2.19 предполагает, что разработчики ожидают, что она будет работать с Ruby 2.0.0. Вашему проекту может быть полезно инвестировать некоторые усилия, чтобы узнать, можете ли вы обновить Rails 3.2.3 до 3.2.19 и протестировать комбинацию этого с Ruby 2.0 для вашего приложения, если есть новые функции Ruby, которые вам нужны, и не могут эффективно использовать backport их. Имейте в виду, что единственный недавний ответ на аналогичный вопрос предупреждает о "странных проблемах" из такой комбинации. Также учтите, что последние заметки о выпуске Rails 3.2 не упоминают Ruby 2.0.