Gem извлекает библиотеку и устанавливает ее в одном из предопределенных мест, например в каталоге gem вендора, системном или пользовательском каталоге gem.Эта установленная версия будет затем использоваться вашей программой.Таким образом, если у вас есть две программы, требующие двух разных версий гема, вам может не повезти, поскольку при установке более новой версии могут возникнуть проблемы с приложениями, для которых требуется более старая версия.Вы можете указать номера версий для драгоценных камней, но они должны быть доступны на целевом сервере (ах) в будущем.
Есть место, где приходит упаковщик - он управляет точными зависимостями, включая версии драгоценных камней.Поэтому, когда вы развертываете приложение и указываете точные версии гемов, которые требуются, упаковщик берет на себя обязательство получить и установить эти точные версии в этот момент.Ваше приложение теперь будет иметь указанные версии, «встроенные», чтобы вы не сломали его, когда в целевой системе гемы имеют разные несовместимые версии.