【问题标题】:rbenv hanging while installing Ruby 1.9.3-p286 on Ubuntu 12.04在 Ubuntu 12.04 上安装 Ruby 1.9.3-p286 时 rbenv 挂起
【发布时间】:2012-11-06 21:59:25
【问题描述】:

我在使用 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 查看正在运行的进程时,似乎安装完成了,因为与安装相关的所有进程都消失了。我很好奇一天中的时间如何影响安装,因为一旦安装在盒子上运行,它不应该依赖任何可能关闭的外部服务,例如维护。我也尝试在盒子上手动运行安装,但结果相同。

有什么想法吗??

谢谢!

【问题讨论】:

    标签: ruby capistrano ubuntu-12.04 rbenv


    【解决方案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​​。添加到服务器端和客户端可能是矫枉过正。只输入了一侧的配置,我没有进行全面测试。

    【讨论】:

      【解决方案2】:

      我认为问题解决了: 由于 SSH 连接在运行过程中中断,安装挂起。 :-(

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

      【讨论】:

      • 您可以尝试将ServerAliveInterval 4 添加到您的 .ssh/config 以确保数据始终通过网络传输。 ` 主机 * ServerAliveInterval 4 `
      猜你喜欢
      • 2014-07-19
      • 1970-01-01
      • 1970-01-01
      • 2013-01-27
      • 1970-01-01
      • 2018-01-03
      • 2012-02-22
      • 2013-01-05
      • 1970-01-01
      相关资源
      最近更新 更多