【问题标题】:Whats the difference between bundle install --deployment and bundle packbundle install --deployment 和 bundle pack 有什么区别
【发布时间】:2011-06-10 00:00:13
【问题描述】:

我知道他们都将 gem 放在您的应用中的不同位置,但似乎 bundle install --deployment 做得更彻底。我可以将它创建的供应商/捆绑目录添加到版本控制并完成吗?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 gem bundle bundler


    【解决方案1】:

    我在开发模式下使用bundle install --path vendor/bundlebundle install --deployment 将锁定您的 Gemfile.lock,并且在您更改 Gemfile 时不会更新它,因此切勿在开发环境中使用部署选项。 bundle install --no-deployment 将禁用捆绑部署模式。 您可以阅读 that 以正确方式使用捆绑包的帖子。

    【讨论】:

    • 很好的回应帮助我更好地理解了上面的回应
    • 谢谢,--no-deployment 解释帮助我在 localhost 中运行从服务器下载的应用程序。
    【解决方案2】:

    查看 Bundler 网站上对两者的描述。

    运行bundle install --deployment是在生产环境中运行,但运行时会从rubygems中获取gem。在“部署您的应用程序”标题下阅读更多 here 以了解 --deployment 标志的目的。

    bundle package 类似于 Rails 2.3 中的旧 rake rails:gems:freeze 命令。它抓取宝石并将它们打包到供应商/缓存中。来自捆绑网站here

    您可以使用它来避免依赖 在部署时在 ruby​​gems.org 上,或者如果 你有私人宝石不在 公共存储库

    【讨论】:

    • 谢谢你,我花了再三阅读文档才能完全理解你在说什么......我不得不考虑你仍然必须跑步的事实生产服务器上的“捆绑安装”,即使您使用捆绑包并将供应商/缓存文件夹检查到源代码管理中
    • bundle --install 部署从 ruby​​gems 中获取 gem。但是,如果您已经完成了一个捆绑包并且您的供应商/缓存已使用 gems 进行了准备怎么办?在我看来, bundle install --deployment 继续使用 ruby​​gems 来获取 gem。
    【解决方案3】:

    我在 RailsConf 2011 上的一次演讲中详细解释了 --deployment 模式标志背后的原因。这篇博文包含我的演讲笔记,并且(我希望)涵盖了该方式背后的所有原因--部署工作:http://andre.arko.net/2011/06/11/deploying-with-bundler-notes/

    【讨论】:

    • 感谢您的链接。这篇文章已经有几年了,我应该注意什么变化?
    猜你喜欢
    • 1970-01-01
    • 2012-07-18
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    • 2014-07-13
    相关资源
    最近更新 更多