4

如何通过 :git => url 解压缩 bundler 中指定的 gem?

我的 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.

是否可以解压缩这样安装的 gem?

4

3 回答 3

5

为什么需要拆包呢?你已经有了源代码。指定 git 存储库的要点是您没有捆绑的 gem,而是生成它的源。

只需使用

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

并且源将在当前目录的 yyy 文件夹中。

于 2011-09-22T17:38:47.437 回答
3

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

    bundle open my_gem
于 2011-09-22T19:32:58.440 回答
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等)。

于 2018-06-21T15:53:57.170 回答