В приложении Rails обычно Rails сочетается с Ruby. И есть файл с именем Gemfile.lock, созданный этим приложением. Этот файл может раздражать, но, с другой стороны, он может помочь разработчикам программного обеспечения. Тогда какова функция Gemfile.lock?

По сути, Gemfile.lock позволяет хранить версии каждого модуля приложения (gem), используемого Rails и Ruby. Таким образом, этот файл может заблокировать версию gem при обновлении приложения. И когда появится новое обновление от поставщика, пользователь будет вынужден продолжать использовать ту же версию гема, которая записана в Gemfile.lock.

Тогда каковы преимущества Gemfile.lock?

Пользователь иногда теперь знает о Gemfile.lock. Тем не менее, это может помочь разработчикам программного обеспечения продолжать работать хорошо, особенно когда им приходится работать вместе. Этот файл будет поддерживать и блокировать всех разработчиков для использования одной и той же версии, даже если есть файлы обновлений, которые были распространены поставщиком.

Например, когда некоторые разработчики программного обеспечения используют Rails версии 5.0.2, поставщик внезапно распространяет более новые или более поздние версии, такие как 5.2.1, так что разрабатываемое приложение больше не совместимо. В этих условиях gemfile.lock становится очень важным.

Но с другой стороны, есть условия, которые делают gemfile.lock не столь важным. Например, когда вы разрабатываете не приложение, а только функцию, библиотеку или другой компонент. Причина в том, что подобные вещи не слишком чувствительны к изменениям версии гема. Все это по-прежнему может работать в соответствии со своими функциями.

Вывод

Итак, gemfile.lock важен или нет? Ответ зависит от пользователя. Если вы создаете приложение большой командой, Gemfile.lock будет очень важен. Между тем, если это только для создания библиотек и функций и делается с несколькими людьми, Gemfile.lock на самом деле не нужен.