Как обновить Ruby 2.3.1 до 2.6.5 в приложении Rails с проверкой совместимости и устаревания с помощью инструмента или драгоценного камня

Текущая версия Ruby - 2.3.1, и вы хотите обновить ее до 2.6.5; Rails версии 5.2.2, позже когда-нибудь захочу обновить ее до 6.0.0

Мой первый вопрос: будет ли это хорошим подходом к прямому обновлению до 2.6.5 или обновлению до основных версий??

И второй вопрос: есть ли какой-либо инструмент или драгоценный камень для проверки предупреждений об устаревании или совместимых методов новой версии.

Чтобы это помогло проверить устаревание и другие несовместимые методы перед окончательной проверкой в ​​репозитории, или есть сценарий, который может просматривать мой код в поисках потенциальных проблем?

Я знаю, что один из лучших способов обеспечить более плавное обновление - это выполнить полное тестовое покрытие до и после обновления.

Хотел бы знать другие средства для обновления, такие как инструмент / драгоценный камень или какой-либо скрипт в частности.

Заранее спасибо

1 ответ

Рекомендуемый путь обновления — делать добавочные обновления дополнительных версий, когда это возможно. Но в случае, если вы отстаете на несколько младших версий, как в вашем случае, вы, вероятно, сможете безопасно перейти на более поздние версии 2.x без каких-либо критических изменений. Но чтобы быть уверенным, вам нужно будет поискать примечания к выпуску указанной версии, т.е. найти выпущенную версию Ruby 2.6 , которая должна дать результаты, включая примечания к выпуску для 2.6.0 . Чтобы быть в безопасности, вы можете поискать на этой странице тогда просто . Что, похоже, не имеет серьезных изменений между 2.3.x и 2.7x.

В основном будут усовершенствования и улучшения производительности, но каждая версия может содержать предупреждения об устаревании. Вы захотите решить их перед обновлением до следующей основной версии Ruby 3.0 или 3.1.

Вы можете использовать gem deprecation_toolkit , чтобы исправить устаревший код перед попыткой обновления до основной версии, например 3.x.

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

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