在部署到服务器时,Capistrano无法运行bundle install

时间:2016-12-22 16:16:36

标签: ruby-on-rails capistrano rbenv

我之前使用此应用程序完成了多次部署。最近进行了一些更改,现在部署失败了"使用bundle install安装缺少的gems"和以下日志

bundle stderr: bash: line 1: 21748 Killed  $HOME/.rbenv/bin/rbenv exec bundle install --path /home/deploy/my_app/shared/bundle --without development test --deployment --quiet

DEBUG [d761e744] Command: cd /home/deploy/my_app/releases/20161222160000 && ( export RBENV_ROOT="$HOME/.rbenv" RBENV_VERSION="2.3.2" ; $HOME/.rbenv/bin/rbenv exec bundle install --path /home/deploy/my_app/shared/bundle --without development test --deployment --quiet )

我无法弄清楚为什么这会突然失败并发生了什么变化?有什么想法吗?

2 个答案:

答案 0 :(得分:1)

apparently I ran out of RAM, so it couldn't compile. Rebooting the server is a quick fix to free up some memory.

答案 1 :(得分:0)

您的问题是您更改了服务器Ruby版本。

每当您使用Ruby Manager并更改Ruby版本时,您必须确保将远程服务器切换到新的Ruby版本,并确保使用新的Ruby版本安装了bundler gem。

如果您的Gemfile未指定Rails版本,请包含此内容。

一旦你的服务器运行新的Ruby版本并且安装了bundler,那么使用Capistrano推送代码将导致bundle,这将解决依赖性问题并在新Ruby下安装所有必需的gem版本

尝试此操作,如果您遇到更多问题,请与我们联系。