【问题标题】:Using bundler, how do you unpack a gem installed via a git repository?使用 bundler,如何解压通过 git 存储库安装的 gem?
【发布时间】:2011-09-22 17:30:28
【问题描述】:

我如何解压 bundler 中通过 :git => url 指定的 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可以解压吗?

【问题讨论】:

    标签: ruby git gem bundler unpack


    【解决方案1】:

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

    简单使用

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

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

    【讨论】:

    • 啊,是的,当然就是这么简单。我在将应用程序部署到 Heroku 时搞砸了,它无法访问私有存储库中的 gem。这是完全错误的问题,所以还是谢谢你:)
    【解决方案2】:

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

        bundle open my_gem
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-23
        • 1970-01-01
        • 2019-01-07
        • 2011-04-14
        • 2021-08-27
        • 2015-09-15
        • 1970-01-01
        • 2021-08-26
        相关资源
        最近更新 更多