Что произойдет, если я использую 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, это может приблизить вас или быть достаточно хорошим.