Что произойдет, если я использую ruby ​​версии 2.5.1 с rails версии 2.3.18?

Что произойдет, если я использую версию ruby 2.5.1 с версией рельсов 2.3.18?

У меня было приложение рельсов, построенное на рельсах 2.3.18 и рубин 1.9.2p320Хочу обновить версию ruby только не рельсы разве это возможно?

С какими проблемами я сталкиваюсь?

1 ответ

GitHub поддерживает публичную ветвь, в которой есть ветки для старых версий Rails с различными изменениями, которые они запускали с течением времени. В течение некоторого времени они работали с более старыми версиями Rails на более новых версиях Ruby, чем они изначально поддерживали, поэтому вы можете найти некоторые полезные советы о том, что нужно туда перенести. Тем не менее, они не использовали 2.3 уже несколько лет, так что в лучшем случае это сделает меньше работы.

В общем, версии Ruby вносят несколько несовместимых изменений, но с базой кода размером и разнообразием Rails, большинство из этих нескольких изменений где-то встречаются. Это кажется мне плохой идеей: например, любые исправления безопасности в более новых версиях Ruby будут значительно перевешиваться известными уязвимостями в таком старом выпуске Rails.

Если вы делаете это, потому что ваше приложение использует систему Ruby и вы обновляете / заменяете ОС, я бы вместо этого предложил использовать rbenv / chruby / ruby-build / ruby-install для установки старой версии этого приложения.

Само собой разумеется, что запускать такую ​​старую версию Rails крайне не рекомендуется, а показывать ее в Интернете крайне опасно - но я все равно скажу.

Rails LTS, по- видимому, предоставляет сервис, который портирует исправления безопасности в Rails 2.3, что может сделать его немного безопаснее. Похоже, что они также поддерживают Rails 2.3 с Ruby 2.3; хотя это не 2,5, это может приблизить вас или быть достаточно хорошим.

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