какую версию rails я должен использовать rails 6.1.3.2 или rails 6.1.4 (которая является последней)?

#ruby-on-rails #ruby #rubygems #ruby-on-rails-5 #ruby-on-rails-6.1

Вопрос:

я создаю приложение rails из scrath, которое было в 6.1.3.2, но теперь автоматически все связанные модули (activesupport activerecord) теперь обновлены до 6.1.4 с 6.1.3.2. хорошо ли использовать 6.1.4?, если нет, как я могу вернуться к 6.1.3.2 ?

Комментарии:

1. Версия любого драгоценного камня (включая рельсы) может быть указана в вашем приложении Gemfile . Для получения дополнительной информации см. Документацию bundler . Вы можете быть настолько конкретным или небрежным в определении версии, как хотите. Переход от 6.1.3.2 к 6.1.4 довольно незначителен (особенно если вы только запускаете приложение), но если вы действительно хотите вернуться, установите версию ~>6.1.3.2 и повторите запуск bundle install .

2. @rmlockerd спасибо за быстрый ответ, но мой файл gemfile уже состоит из 6.1.3.2, но в lockfile это 6.1.4, вот почему я задал этот вопрос

3. Как именно выглядит rails линия на твоем Gemfile лице?

4. @spickermann gem ‘рельсы’, ‘~ > 6.1.3’

5. Если версия содержит только цифры, вы можете считать, что она стабильна. Нестабильная версия может выглядеть следующим образом: 6.1.0.rc2 где ( rc2 расшифровывается как release candidate 2) или 6.0.0.beta1

Ответ №1:

Эта строка

 gem 'rails', '~> 6.1.3'
 

в вашем Gemfile случае это означает, что bundler разрешено обновлять выпуски уровня исправлений, но не до следующего незначительного выпуска (читайте о семантическом управлении версиями), что в основном совпадает с >= 6.1.3 «но < 6.2 «.

Обычно это называется ограничением пессимистической версии, поскольку оно позволяет разработчику устанавливать версии уровня исправлений, которые обычно являются исправлениями ошибок. Но пакет не может обновиться до следующего незначительного выпуска, который может включать изменения в API и может привести к поломке вашего кода.

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

Если вы действительно хотите прикрепить рельсы к определенной версии (что я бы не рекомендовал), то вы можете использовать

 gem 'rails', '6.1.3.2'
 

В вашем Gemfile ,

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

Моя рекомендация такова: Всегда обновляйте свои зависимости (не только Rails). Когда появляется новая версия, которая не работает с вашей базой кода, прекратите внедрение новых функций и сначала адаптируйте свою базу кода к новой версии.

Комментарии:

1. Обратите внимание, что незначительные выпуски могут добавить функциональность, но должны быть обратно совместимы. Это означает, что обновление до следующего незначительного выпуска не должно нарушать ваш текущий код. На практике не все драгоценные камни и даже сам Рубин не всегда следуют этому правилу. В большинстве случаев безопасно перейти на следующий второстепенный выпуск, но перед этим убедитесь, что вы прочитали примечания к выпуску. В теории (семантического управления версиями) только основным выпускам разрешено взламывать код.

Ответ №2:

Всегда рекомендуется использовать последнюю стабильную версию rails и других драгоценных камней. Как вы упомянули 6.1.4 , это последняя версия atm. Так что не бойтесь этой перемены. В любом случае, время от времени полезно обновлять свои драгоценные камни.

Комментарии:

1. это стабильное состояние?

2. @PrateekVyas да, weblog.rubyonrails.org/2021/6/24/Rails-6-1-4-has-been-released