Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Capistrano部署失败-连接被远程主机关闭-任务:TOP=>;rbenv:验证_Ruby On Rails_Ruby_Ssh_Capistrano_Rbenv - Fatal编程技术网

Ruby on rails Capistrano部署失败-连接被远程主机关闭-任务:TOP=>;rbenv:验证

Ruby on rails Capistrano部署失败-连接被远程主机关闭-任务:TOP=>;rbenv:验证,ruby-on-rails,ruby,ssh,capistrano,rbenv,Ruby On Rails,Ruby,Ssh,Capistrano,Rbenv,Capistrano无法部署我的Ruby on Rails应用程序。自从上次成功部署以来,我没有更改任何配置文件(Capfile、deploy.rb等) chris-iMac:untrackedlatest Chris$ cap production deploy --trace ** Invoke production (first_time) ** Execute production ** Invoke load:defaults (first_time) ** Execute load:

Capistrano无法部署我的Ruby on Rails应用程序。自从上次成功部署以来,我没有更改任何配置文件(Capfile、deploy.rb等)

chris-iMac:untrackedlatest Chris$ cap production deploy --trace
** Invoke production (first_time)
** Execute production
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke bundler:map_bins (first_time)
** Execute bundler:map_bins
** Invoke deploy:set_rails_env (first_time)
** Execute deploy:set_rails_env
** Invoke deploy:set_rails_env 
** Invoke rbenv:validate (first_time)
** Execute rbenv:validate
DEBUG [eb8ce4ac] Running /usr/bin/env [ -d /usr/local/rbenv/versions/2.1.5 ] as deploy@XXX.XXX.XXX.XXX
DEBUG [eb8ce4ac] Command: [ -d /usr/local/rbenv/versions/2.1.5 ]
Text will be echoed in the clear. Please install the HighLine or Termios libraries to suppress echoed text.
deploy@XXX.XXX.XXX.XXX's password:XXXX
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as deploy@XXX.XXX.XXX.XXX: connection closed by remote host
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:16:in `rescue in block (2 levels) in execute'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'
Net::SSH::Disconnect: connection closed by remote host
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/packet_stream.rb:105:in `block in next_packet'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/packet_stream.rb:95:in `loop'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/packet_stream.rb:95:in `next_packet'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:183:in `block in poll_message'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:178:in `loop'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:178:in `poll_message'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/transport/session.rb:163:in `next_message'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:95:in `block in next_message'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:94:in `loop'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:94:in `next_message'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/methods/password.rb:25:in `authenticate'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:79:in `block in authenticate'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:66:in `each'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:66:in `authenticate'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.2/lib/net/ssh.rb:211:in `start'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/connection_pool.rb:50:in `call'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/connection_pool.rb:50:in `create_new_entry'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/connection_pool.rb:22:in `checkout'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:187:in `with_ssh'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:137:in `block in _execute'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:133:in `tap'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:133:in `_execute'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:62:in `test'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/capistrano-rbenv-2.0.3/lib/capistrano/tasks/rbenv.rake:10:in `block (3 levels) in <top (required)>'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:54:in `instance_exec'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/backends/netssh.rb:54:in `run'
/Users/Chris/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sshkit-1.7.1/lib/sshkit/runners/parallel.rb:13:in `block (2 levels) in execute'
Tasks: TOP => rbenv:validate
远程ruby版本:

chris-iMac:untrackedlatest Chris$ ruby -v
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
untracked@untrackedprod:/srv/untracked/current$ ruby -v
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]
自上次成功部署以来,我没有对ClientAliveInterval/ServerAliveInterval进行任何更改

我能够成功地通过SSH连接到服务器

卡皮斯特拉诺宝石:

Using capistrano 3.4.0
Using capistrano-bundler 1.1.4
Using capistrano-passenger 0.0.5
Using capistrano-rails 1.1.3
Using capistrano-rbenv 2.0.3
服务器正在运行Ubuntu 14.04


任何帮助都将不胜感激

我也有同样的问题。我通过两个步骤解决此问题:

  • 我只是在服务器文件
    ~/.ssh/authorized\u keys
    中添加了一行,内容是我的本地文件
    ~/.ssh/id\u rsa.pub
  • 由于我在mac和VirtualBox VM上有两个相同的帐户名,并且我在服务器文件
    ~/.ssh/authorized_keys
    中取消了其中一个帐户名的注释,所以一切都很顺利

  • 祝你好运

    这可能不是合适的解决方案,但对我来说,从新选项卡/终端开始部署是可行的。我认为需要重新启动shell。

    您可以运行
    sshdeploy@XXX.XXX.XXX.XXX
    在终端到远程服务器的ssh连接中,如果不起作用,请检查您的ssh密钥。我可能遇到了同样的问题。在rbenv:validate,它突然需要一个密码,即使它刚才已经用一个密钥成功连接到服务器。而且它不接受正确的密码。部署在过去工作得非常好。