使用bundler,如何解压通过git存储库安装的gem?

时间:2011-09-22 17:30:28

标签: ruby git gem bundler unpack

如何通过以下方式解压缩在bundler中指定的gem:git => URL?

我的Gemfile有

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

$ bundle正确地将gem报告为可用,并且我的代码有效。 $ 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 个答案:

答案 0 :(得分:4)

为什么需要打开它?你已经有了源代码。指定git存储库的关键是你没有捆绑的gem,而是生成它的源。

只需使用

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

,源代码将位于当前目录的yyy文件夹中。

答案 1 :(得分:3)

此外,您可以使用以下命令打开Gemfile中的任何gem:

    bundle open my_gem

答案 2 :(得分:0)

不能完全回答这个问题,但是假设您手边有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等)。