问题描述
||
我知道他们都将宝石放置在应用程序中的不同位置,但似乎捆绑安装--deployment做得更彻底。我可以仅将它创建的vendor / bundle目录添加到版本控制中并完成操作吗?
解决方法
在Bundler的网站上查看对两者的描述。
运行
bundle install --deployment
将在生产环境中运行,但是运行时它将从rubygems中获取宝石。在'1ѭ标志的目的下,在\“部署您的应用程序\”标题下阅读更多内容。
bundle package
与Rails 2.3中的旧rake rails:gems:freeze
命令相似。它获取宝石并将其打包在供应商/缓存中。从捆绑器站点开始:
您可以使用它来避免依赖
部署时在rubygems.org上,或者
您有不在其中的私人宝石
公共仓库
, 我在开发模式下使用bundle install --path vendor/bundle
。
bundle install --deployment
将锁定您的Gemfile.lock,并且在您更改Gemfile时不会更新它,因此切勿在开发环境上使用部署选项。
bundle install --no-deployment
将禁用捆绑软件部署模式。
您可以通过正确的方式阅读有关捆绑软件使用情况的文章。
, 我在RailsConf 2011上的一次演讲中详细解释了--deployment模式标志背后的原因。这篇博客文章包含我关于该演讲的笔记,并且(我希望)涵盖了--deployment方法背后的所有理由。作品:http://andre.arko.net/2011/06/11/deploying-with-bundler-notes/