Ruby on rails 3 无法从供应商缓存安装Gems

Ruby on rails 3 无法从供应商缓存安装Gems,ruby-on-rails-3,capistrano,bundler,Ruby On Rails 3,Capistrano,Bundler,尽管Capistrano使用标志执行bundle install,但供应商缓存中的gem不会安装到共享bundle路径中。相反,我被告知: 您的供应商/缓存目录中似乎缺少一些gem 在任何源中都找不到libv8-3.3.10.4 libv8-3.3.10.4肯定位于供应商/缓存中。有人知道bundler为什么不从缓存安装gems吗 下面是Capistrano执行的完整命令 "cd /home/ari/apps/air/releases/20120209214139 && bund

尽管Capistrano使用标志
执行bundle install,但供应商缓存中的gem不会安装到共享bundle路径中。相反,我被告知:

您的供应商/缓存目录中似乎缺少一些gem

在任何源中都找不到libv8-3.3.10.4

libv8-3.3.10.4肯定位于供应商/缓存中。有人知道bundler为什么不从缓存安装gems吗

下面是Capistrano执行的完整命令

"cd /home/ari/apps/air/releases/20120209214139 && bundle install --gemfile /home/ari/apps/air/releases/20120209214139/Gemfile --path /home/ari/apps/air/shared/bundle --deployment --local --quiet --without development test"

捆绑包帮助安装

注意:
libv8
在首次安装时构建本机扩展。如果您为一个平台提供gem,并试图在另一个平台上使用它,这可能会导致问题

要么GEM不存在于服务器上的Rubygems缓存中,要么GEM不存在于部署中的
vendor/cache
中。因此,如果您在
vendor/cache
目录中看到gem,那么可能是bundler不知道在哪里查找您的
vendor/cache
gem

cd/home/ari/apps/air/releases/20120209214139和捆绑包列表的输出是什么?如果它没有显示在那里,但是您可以在服务器上找到它,那么您就知道bundler不知道
供应商/cache
gem在哪里


尝试通过登录进行
gem-env
,并通过Capistrano与
gem-env
输出进行比较。查看GEM路径输出是否不同。

我也有同样的问题。运行
bundle-pack
然后
bundle-install--deployment
vendor/cache
中找不到它,这似乎类似:。OP声称通过安装Rails和libv8解决了这个问题。不确定它在你的情况下是否有效。
--local
          Do not attempt to connect to rubygems.org,  instead  using  just
          the  gems already present in Rubygems' cache or in vendor/cache.
          Note that if a more appropriate platform-specific gem exists  on
          rubygems.org, it will not be found.