在Ubuntu 12.04上安装Ruby 1.9.3-p286时rbenv挂起

时间:2012-11-06 21:59:26

标签: ruby capistrano ubuntu-12.04 rbenv

我在使用Capistrano的(空白)Ubuntu 12.04盒子上安装Ruby 1.9.3-p286时遇到问题。

会发生什么:

 * executing "rbenv install 1.9.3-p286"
   servers: ["178.48.132.196"]
   [178.48.132.196] executing command
** [out :: 178.48.132.196] Downloading http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz...
** [out :: 178.48.132.196] Installing yaml-0.1.4...
** [out :: 178.48.132.196] Installed yaml-0.1.4 to /home/cphrb/.rbenv/versions/1.9.3-p286
** [out :: 178.48.132.196] Downloading http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p286.tar.gz...
** [out :: 176.58.102.156] Installing ruby-1.9.3-p286...

(这里它永远挂起。)

添加神秘感: 办公时间(GMT + 1)完全正常,但晚上跑步时失败。它已经连续三晚一致。当我使用top查看正在运行的进程时,似乎安装完成,因为与安装相关的所有进程都消失了。我很好奇一天中的时间如何影响安装,因为一旦安装在盒子上运行,它就不应该依赖于任何外部服务,例如保养。我也尝试在盒子上手动运行安装,但结果相同。

任何想法??

谢谢!

2 个答案:

答案 0 :(得分:1)

尝试使用Capistrano脚本中的rbenv安装ruby 2.0.0-rc2时遇到了类似的问题。


我将以下内容添加到Ubuntu服务器的/ etc / ssh / sshd_config中:

  

ClientAliveInterval 20

     

ClientAliveCountMax 20

重新配置后,SSH服务器需要重新启动。


我将以下内容添加到本地计算机(也是ubuntu)/ etc / ssh / ssh_config中:

  

ServerAliveInterval 30

     

ServerAliveCountMax 20

需要关闭并重新打开任何打开的SSH连接才能使用此配置。


这些值阻止了我的ssh会话超时,我的Capistrano配方通过rbenv完成了ruby的安装。添加到服务器端和客户端可能都是过度的。我没有完全测试只输入配置的一面。

答案 1 :(得分:0)

我认为问题已解决: 由于SSH连接在飞行途中死亡,安装挂起。 : - (

如果有人知道为什么SSH不会因错误而终止,我很乐意知道。如果有任何开关可以缓解这个问题。