Певний час розробляючи свою програму, перегляньте програму разом із знімком Gemfile та Gemfile.lock. Тепер у вашому сховищі є запис точних версій усіх дорогоцінних каменів, які ви використовували останній раз, коли впевнені, що програма працювала. Майте на увазі, що хоча ваш Gemfile містить лише три дорогоцінні камені (з різним ступенем суворості версії), ваш додаток залежить від десятків дорогоцінних каменів, як тільки ви врахуєте всі неявні вимоги дорогоцінних каменів, від яких ви залежите.
Це важливо: Gemfile.lock робить ваш додаток єдиним пакетом як власного коду, так і стороннього коду, який він запускався востаннє, коли ви точно знаєте, що все спрацювало. Вказання точних версій стороннього коду, від якого ви залежите у своєму Gemfile, не дасть однакової гарантії, оскільки дорогоцінні камені зазвичай декларують діапазон версій для їх залежностей.
Наступного разу, коли ви запустите пакет, встановлений на одній машині, bundler побачить, що він вже має всі необхідні вам залежності, і пропустить процес установки.
Не перевіряйте в каталозі .bundle або будь-якому з файлів всередині нього. Ці файли характерні для кожної конкретної машини і використовуються для збереження параметрів установки між запусками команди встановлення пакету.
Якщо ви запустили пакет пакетів, дорогоцінні камені (хоча це не git gems), необхідні для вашого пакета, будуть завантажені у постачальника / кеш. Bundler може працювати без підключення до Інтернету (або сервера RubyGems), якщо всі потрібні дорогоцінні камені знаходяться у цій папці та зареєстровані у вашому джерелі управління. Це необов'язковий крок і не рекомендується через збільшення розміру вашого сховища управління джерелом.