【问题标题】:Capistrano Deploy error in the form of bundle stdout: Nothing written bundle stderr: Nothing written捆绑标准输出形式的 Capistrano 部署错误:未写入捆绑标准错误:未写入
【发布时间】:2015-03-04 10:27:08
【问题描述】:

所以我最近设置了一个 Azure VM,并一直在尝试将我们的应用程序部署到 Azure。我与一堆错误争论不休,但在我运行cap production deploy:check --trace 后我真的被困在这里了@

我们使用 Ansible 设置服务器,并且 nginx 在服务器上运行良好。现在我们只是想把该死的东西部署到机器上,但是我们遇到了一个奇怪的问题,它无法以 deploy 用户身份执行,无论出于何种原因,并说什么都没有写的。

任何帮助将不胜感激。

cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as cow@goat.cloudapp.net: bundle exit status: 18
bundle stdout: Nothing written
bundle stderr: Nothing written
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/command.rb:97:in `exit_status='
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:153:in `block (5 levels) in _execute'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/channel.rb:551:in `call'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/channel.rb:551:in `do_request'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:562:in `channel_request'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:466:in `dispatch_incoming_packets'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:222:in `preprocess'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:206:in `process'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `block in loop'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `loop'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `loop'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/channel.rb:269:in `wait'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:175:in `block (3 levels) in _execute'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/channel.rb:514:in `call'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/channel.rb:514:in `do_open_confirmation'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:546:in `channel_open_confirmation'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:466:in `dispatch_incoming_packets'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:222:in `preprocess'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:206:in `process'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `block in loop'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `loop'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `loop'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:177:in `block (2 levels) in _execute'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:191:in `with_ssh'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:136:in `block in _execute'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:133:in `tap'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:133:in `_execute'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:66:in `execute'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/capistrano-bundler-1.1.4/lib/capistrano/tasks/bundler.cap:35:in `block (5 levels) in <top (required)>'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/abstract.rb:85:in `with'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/capistrano-bundler-1.1.4/lib/capistrano/tasks/bundler.cap:26:in `block (4 levels) in <top (required)>'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/abstract.rb:77:in `within'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/capistrano-bundler-1.1.4/lib/capistrano/tasks/bundler.cap:25:in `block (3 levels) in <top (required)>'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:54:in `instance_exec'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:54:in `run'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/runners/parallel.rb:13:in `block (2 levels) in execute'
SSHKit::Command::Failed: bundle exit status: 18
bundle stdout: Nothing written
bundle stderr: Nothing written
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/command.rb:97:in `exit_status='
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:153:in `block (5 levels) in _execute'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/channel.rb:551:in `call'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/channel.rb:551:in `do_request'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:562:in `channel_request'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:466:in `dispatch_incoming_packets'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:222:in `preprocess'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:206:in `process'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `block in loop'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `loop'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `loop'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/channel.rb:269:in `wait'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:175:in `block (3 levels) in _execute'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/channel.rb:514:in `call'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/channel.rb:514:in `do_open_confirmation'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:546:in `channel_open_confirmation'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:466:in `dispatch_incoming_packets'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:222:in `preprocess'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:206:in `process'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `block in loop'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `loop'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:170:in `loop'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:177:in `block (2 levels) in _execute'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:191:in `with_ssh'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:136:in `block in _execute'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:133:in `tap'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:133:in `_execute'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:66:in `execute'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/capistrano-bundler-1.1.4/lib/capistrano/tasks/bundler.cap:35:in `block (5 levels) in <top (required)>'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/abstract.rb:85:in `with'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/capistrano-bundler-1.1.4/lib/capistrano/tasks/bundler.cap:26:in `block (4 levels) in <top (required)>'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/abstract.rb:77:in `within'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/capistrano-bundler-1.1.4/lib/capistrano/tasks/bundler.cap:25:in `block (3 levels) in <top (required)>'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:54:in `instance_exec'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/backends/netssh.rb:54:in `run'
/Users/macbook/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/sshkit-1.6.1/lib/sshkit/runners/parallel.rb:13:in `block (2 levels) in execute'
Tasks: TOP => deploy:updated => bundler:install
The deploy has failed with an error: Exception while executing as cow@goat.cloudapp.net: bundle exit status: 18
bundle stdout: Nothing written
bundle stderr: Nothing written
** Invoke deploy:failed (first_time)
** Execute deploy:failed

【问题讨论】:

  • 似乎捆绑程序在执行期间导致错误。尝试手动执行并检查输出。
  • 我该怎么做? @maxd

标签: ruby-on-rails ruby capistrano bundler ansible


【解决方案1】:

根据the source exit status 18 表示 Ruby 版本不匹配。通常,这表明您的 Gemfile 中有一个 ruby 行,它需要的版本与您用于执行 Bundler 的版本不同(在本例中为 2.2.0)。

令人惊讶的是,它说没有任何内容写入 stdout 或 stderr,因为在这种情况下,Bundler 通常会打印错误。可能还有其他问题导致错误输出被抑制。

【讨论】:

  • SSHKit(capistrano 用于执行 SSH 命令的库)在抑制 stdout/err 输出方面存在问题。升级到最新版本 (SSHKit 1.7.1) 可能会有所帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-29
  • 1970-01-01
  • 2013-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多