我使用的是Bundler 1.3.5版和Ruby 2.0.0-rc2。
当我在生产服务器上使用命令bundle install --deployment时,我的所有gem都被复制到vendor / bundle,除了在Gemfile中有一个:git源的那个。
我没有收到任何错误,并且在运行命令时列出甚至下载了gem,但它不在vendor / bundle文件夹中。
我在此发现的所有资源都与没有此功能的Bundler的过时版本有关。为什么会在1.3.5上发生这种情况呢?
答案 0 :(得分:0)
您的“git”gem将从缓存目录中存储和加载。我认为这是一个实现细节。
我在documentation中找到了以下注释:
安装宝石时,Bundler会检查供应商/缓存,然后检查你的 系统的宝石。如果没有缓存或安装gem,Bundler将尝试 从你在Gemfile中声明的源代码安装它。
因此gem将从git下载到vendor/cache
,然后Bundler将安装它,但它已经在vendor/cache
中。这可能是原因,为什么你在vendor/bundle
目录中找不到它。