Подтвердить что ты не робот

Почему команда `gem list` не включает в себя драгоценные камни, установленные с помощью bundler: git option?

В наших рельсах 3.2 Gemfile есть некоторые драгоценные камни, установленные с опцией :git, указывающие на репо на github, например:

gem 'ruote', :git => 'http://github.com/jmettraux/ruote.git'

После bundle install введите gem list, чтобы отобразить все установленные камни. Однако gem list не показывает ruote как установленный жемчуг. На самом деле, нет ruote, перечисленных вообще. Мы замечаем, что то же самое происходит со всеми рельсами engines, которые устанавливаются с опцией :git, указывающей на репо на github. Почему список драгоценных камней не перечисляет все драгоценные камни? Как мы можем гарантировать, что рут правильно установлен?

4b9b3361

Ответ 1

Согласно Документация Bundler, драгоценные камни из git источников не будут отображаться в gem list, потому что команда gem не может обрабатывать их, поэтому Bundler имеет самостоятельно выполнять всю работу. Вместо этого Bundler хранит эти драгоценные камни в своем собственном месте. (Обратите внимание, что это местоположение не имеет никакого отношения к текущему проекту. По умолчанию оно находится в ~/.bundler/....)

Вы можете видеть, что он установлен, если bundle install завершается без ошибок. Вы также можете использовать bundle show, чтобы просмотреть список драгоценных камней, которые Bundler настроил для вас.

Ответ 2

gem list - это неправильный способ показать драгоценные камни, установленные для приложения, так как это покажет системные драгоценные камни.

Чтобы проверить, какие камни для этого приложения и их версии, отметьте Gemfile.lock. У вас будет самая точная информация.

Ответ 3

gem list показывает вам все драгоценные камни, установленные на вашем компьютере.

Когда у вас есть драгоценный камень с другим расположением, чем драгоценные камни Ruby, Bundler сохранит их локально для проекта, а не по всей системе.