ruby-on-rails - 如何解决 您的 vendor/cache 目录中似乎缺少一些 gems。无法在任何来源中找到 "whatever"?

标签 ruby-on-rails ruby capistrano bundler

这让我发疯。我向 Gemfile 添加了一个 gem (hirb),但现在无法部署。

是的,我使用了bundle install --path vendor/cache

是的,我使用了bundle package

是的,我提交了 Gemfile 和 Gemfile.lock

我删除了生产机器中的 vendor/cache 文件夹,这样它会再次生成它而不是更新它。这是错误的吗?

每当我运行 cap:deploy 时,我都会得到以下...

executing "cd /var/www/releases/20120606002321 && bundle install --gemfile /var/www/releases/20120606002321/Gemfile --path /var/www/shared/bundle --deployment --quiet --without development test"
    servers: ["11.111.11.11"]
    [11.111.11.11] executing command
    [11.111.11.11] env PATH=/var/lib/gems/1.9.1/bin:$PATH sh -c 'cd /var/www/releases/20120606002321 && bundle install --gemfile /var/www/releases/20120606002321/Gemfile --path /var/www/shared/bundle --deployment --quiet --without development test'
 ** [out :: 11.111.11.11] Some gems seem to be missing from your vendor/cache directory.
 ** [out :: 11.111.11.11] Could not find multi_json-1.3.6 in any of the sources
    command finished in 48571ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /var/www/releases/20120606002321; true"
    servers: ["11.111.11.11"]
    [11.111.11.11] executing command
    [11.111.11.11] env PATH=/var/lib/gems/1.9.1/bin:$PATH sh -c 'rm -rf /var/www/releases/20120606002321; true'
    command finished in 6417ms
failed: "env PATH=/var/lib/gems/1.9.1/bin:$PATH sh -c 'cd /var/www/releases/20120606002321 && bundle install --gemfile /var/www/releases/20120606002321/Gemfile --path /var/www/shared/bundle --deployment --quiet --without development test'" on 11.111.11.11

最佳答案

您可能想尝试删除 --deployment 标志。这似乎允许 Bundler 从 vendor/cache Rubygems 安装。

标题:

set :bundle_flags, "--quiet --no-cache"

相关错误:https://github.com/bundler/bundler/issues/1454

关于ruby-on-rails - 如何解决 您的 vendor/cache 目录中似乎缺少一些 gems。无法在任何来源中找到 "whatever"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10907568/

相关文章:

ruby - 在 ruby​​ 中按列选择二维数组

ruby - AWS ruby​​ gem 好像没有安装

ruby - 如何从 ruby​​ 脚本访问自动加载的 zsh 函数?

ruby - 通过脚本设置带有rvm的EC2服务器

ruby-on-rails - 部署失败,Capistrano 中的包退出状态为 16

ruby-on-rails - 通过包含 has_many 的列

ruby-on-rails - 通过 rake 任务删除 Heroku (Rails 3.1) 上的旧记录

javascript - 列表上的倒计时器为每个列表项提供相同的计时器结果

ruby-on-rails - 从 `rails server` 开始时,Puma 未在定义的位置创建套接字

ruby-on-rails - Nginx 在大文件上传时随机失败