Используя bundler, как распаковать gem, установленный через репозиторий git? - PullRequest
4 голосов
/ 22 сентября 2011

Как мне распаковать гем, указанный в bundler, по: git => url?

Мой Gemfile имеет

gem 'my_gem', :git => 'git@github.com:xxxxx/xxxxx.git'

$ bundle правильно сообщает о доступном геме, и мой код работает. $ bundle which my_gem даже говорит мне, где хранится мой драгоценный камень. Тем не менее:

$ gem unpack my_gem
ERROR:  Gem 'my_gem' not installed nor fetchable.
$ bundle exec gem unpack my_gem
ERROR:  Gem 'my_gem' not installed nor fetchable.

Можно ли распаковать установленный драгоценный камень вот так?

Ответы [ 3 ]

4 голосов
/ 22 сентября 2011

Зачем его распаковывать? У вас уже есть исходный код. Смысл определения репозитория git заключается в том, что у вас нет встроенного гема, но есть источник для его генерации.

Просто используйте

git clone git://github.com/xxxx/yyy.git

и источник будет в папке yyy текущего каталога.

3 голосов
/ 22 сентября 2011

Кроме того, вы можете открыть любой драгоценный камень в своем Gemfile, используя:

    bundle open my_gem
0 голосов
/ 21 июня 2018

Не совсем отвечаю на вопрос, но предположим, что у вас есть gem-файл, это куча gzip-файлов, скопированных (в отличие от обычных)

$ tar xzf mygem.gem
$ ls
mygem.gem checksums.yaml.gz  data.tar.gz  metadata.gz

metaddata.gz - это gemspec, а data.tar.gz - это все файлы (lib/my/stuff.rb и т. Д.).

...