在Ubuntu 20.10上安装Ruby 3.0已经是水深火热了

在Ubuntu 20.10上安装Ruby 3.0已经是水深火热了,ruby,rubygems,ubuntu-20.10,Ruby,Rubygems,Ubuntu 20.10,我删除了所有旧的Ruby库,并从命令行编译了v3.0(没有使用pkg管理器) 二进制文件的CLI可以处理参数: $ruby -v --> ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-linux] irb还活着: $irb --> irb(main):001:0> 但是在不使用任何CLI参数的情况下启动Ruby是行不通的。没有回应 RubyGems包管理器处于活动状态,但在尝试从RubyGems.org下载时失

我删除了所有旧的Ruby库,并从命令行编译了v3.0(没有使用pkg管理器)

二进制文件的CLI可以处理参数:

$ruby -v --> ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-linux]
irb还活着:

$irb --> irb(main):001:0>
但是在不使用任何CLI参数的情况下启动Ruby是行不通的。没有回应

RubyGems包管理器处于活动状态,但在尝试从RubyGems.org下载时失败(Net::OpenTimeout)


我很困惑。有什么想法吗?

这是ruby的正常行为。ruby是一个命令行程序,经过优化,可以用作命令行管道的一部分

$> echo "puts(2 ** 5)" | ruby 
$= 32
当在没有任何参数的情况下执行时,您将其连接到一个无限的stdin流,该流可能看起来没有响应,但实际上正在积极解析输入。您只需键入
end
即可进行检查,这将导致程序因语法错误而终止

使用
ruby
可执行文件的正常方法是为其提供一个要执行的文件:

ruby my_script.rb

您可以在ruby-h中看到更多选项。gem安装问题似乎与rubygems API与IPv6有问题有关:


我已经编辑了/etc/gai.conf的副本,
gem安装问题似乎已经消失。

感谢您指出Ruby的行为。诚然,这让我偏离了我最初的问题——诊断为什么rubygems不能安装新的gems。你的问题让我觉得ruby 2.x和/或更早的Ubuntu版本的行为有所不同,但事实并非如此。