1

根据 Bundler ( http://bundler.io/v1.3/rationale.html )

--deployment 标志添加了以下默认值:

...

如果你已经运行bundle pack,在目录中签入vendor/cache,并且没有任何 git gem,Bundler 在安装你的包时不会连接互联网。

问题:

  1. bundle pack一样的bundle package吗?如果没有,那么由于bundle -h没有显示有关 的任何详细信息bundle pack,您如何找到更多信息bundle pack(除了搜索 Google 结果!)

  2. “签入vendor/cache”是否意味着签入git?如果是这样,你怎么bundler知道你已经签到了?

4

1 回答 1

3

捆绑包和捆绑包一样吗?如果不是那么,由于 bundle -h 没有显示有关捆绑包的任何详细信息,您如何找到有关捆绑包的更多信息(除了通过谷歌搜索结果!)

是的。两者bundle packagebundle pack实现相同。请参阅 中的这一行lib/bundler/cli.rbmapa中的Thor::CLI命令将作为参数提供给它的命令别名。在这种情况下,它将“pack”转换:package为可识别的任务。


“签入供应商/缓存”是否意味着签入 git?而且,如果是这样,bundler 是如何知道您已签入的?

Bundler 不检查是否vendor/cache已签入 git repo。它只检查目录是否存在并在运行时适当地设置--local标志bundle installbundle package手册页的最后一段给出了为什么需要将 vendor/cache 目录签入源代码控制的微妙原因。除此之外,为了命令的目的,我找不到任何需要将vendor/cache目录签入源代码控制的代码bundle

于 2013-09-08T06:52:44.890 回答