什么是捆绑安装 – 部署和捆绑包之间的区别

我知道他们都把gem放在你的应用程序的不同位置,但似乎捆绑安装 – 部署做得更彻底。 我可以将它创建的供应商/包目录添加到版本控制并完成吗?

看看Bundler网站上的两个描述。

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

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

您可以使用它来避免在部署时依赖rubygems.org,或者如果您拥有不在公共存储库中的私有gem

我在开发模式下使用bundle install --path vendor/bundlebundle install --deployment –deployment将锁定你的Gemfile.lock并且在你更改你的Gemfile时不会更新它,所以永远不要在开发环境中使用部署选项。 bundle install --no-deployment将禁用bundle部署模式。 您可以正确的方式阅读有关捆绑使用的post。

我在RailsConf 2011上的演讲中解释了 – 部署模式标志背后的原因。这个博客文章包含了我对该演讲的说明,并且(我希望)涵盖了这种方式背后的所有推理 – 部署作品: http : //andre.arko.net/2011/06/11/deploying-with-bundler-notes/