【问题标题】:Packaging local ruby gems using Bundler?使用 Bundler 打包本地红宝石宝石?
【发布时间】:2012-09-24 17:55:25
【问题描述】:

我正在处理一个使用我们内部创建的 gem 的项目。它不在 ruby​​gems.org 或 github 上托管。但我们的存储库和本地机器上的路径中确实有它。

在我们的 Gemfile 中,我们有类似这样的内容:

gem "our-custom-gem", :path => "/path-to/our-custom-gem"

我们正在尝试打包我们所有的 gem,以便我们可以使用 warbler gem 创建一个 .war 文件,以便使用 jRuby 进行部署。

我们希望能够运行“bundle install”或“bundle install --local”之类的命令,以确保所有 gem 都已安装。然后让 bundler 获取我们 Gemfile 中指定的所有依赖项,使用“bundle package”命令将它们放入 vendor/bundle 中。

但基于此链接 (http://gembundler.com/man/bundle-package.1.html),捆绑器似乎无法打包使用 :path 或 :git 作为源指定的 gem。

有人找到解决办法了吗?

您如何“捆绑”本地的、不属于 git 存储库或在 ruby​​gems.org 上可用的 gem?

谢谢。

【问题讨论】:

    标签: rubygems jruby bundler warbler gemfile


    【解决方案1】:

    重大新闻!

    从 Bundler 1.2 开始,bundle package 命令也可以打包 :git 和 :path 依赖项除了 .gem 文件。这需要明确 通过 --all 选项启用。使用后, --all 选项将是 记住了。

    文档:http://gembundler.com/man/bundle-package.1.html

    【讨论】:

      【解决方案2】:

      从这个pull requerst来看,这是1.1计划的功能。

      其中一位核心开发人员提供了this workaround,不过:

      cd vendor/git
      git clone git://github.com/foo/foo.git
      

      然后,在您的 Gemfile 中,gem "foo", :path => "vendor/git/foo"。

      已经在this branch 上解决了这个问题。

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-08-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多