Будет ли обновление гемов ломать старые приложения Rails?
У меня есть куча приложений Rails, работающих на Rails 1.x. Мне нужно обновить драгоценные камни, поэтому вопрос в том, будут ли работать эти старые приложения после того, как я обновлю драгоценные камни?
Спасибо.
4 ответа
Конечно, единственный способ убедиться - это проверить; Тем не менее, если вы хотите убедиться, что приложение работает во время тестирования, я считаю, что вы можете запустить
rake rails:freeze:gems
скопировать установленные в данный момент гемы в папку vendor внутри вашего проекта. Если после тестирования ваш проект может использовать более новые версии, запустите
rake rails:unfreeze
вернуть в систему установленные версии драгоценных камней.
Это зависит. Если вы говорите об обновлении до последних гемов, которые включают в себя Rails, то если приложения используют функции, которые давно устарели и впоследствии были удалены, то они сломаются.
Единственный способ узнать наверняка - это попробовать. Ищите предупреждения об устаревании в журнале разработки. Надеюсь, у вас есть хорошие тестовые наборы.
Если вы работаете с rails 1.x и обновляете самоцвет rails, ваше приложение сломается. Rails 2.x очень отличается.
Что касается других драгоценных камней, они могут сломаться. Читайте заметки к релизам, обычно авторы предупреждают об обратной совместимости.
Если вы не хотите обновляться, вы также можете заморозить драгоценные камни.
Это как любая другая зависимость. Посмотрите номер версии для каждого драгоценного камня:
1.2.3
В этом случае 1 является основной версией. Если этот номер изменился, то точно не обновляйте. Потребуется работа, чтобы использовать новый.
2 является минорной версией. Вы должны быть в безопасности, если только это число изменилось, но будьте осторожны. Сделайте много тестов дыма.
3 - релиз с исправлением ошибок. Вы можете определенно обновить, если только это изменилось. Маловероятно, что только это изменилось через столько времени, но если это так, то вы в безопасности.
К сожалению, это только рекомендации, и многие проекты с открытым исходным кодом, в частности, не очень хорошо им следуют. Так что прими совет с крошкой соли.