我删除了所有旧的 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)。
我很困惑。有什么想法吗?
答案 0 :(得分:0)
这是正常的 ruby 行为。 ruby 是一个命令行程序,经过优化可用作命令行管道的一部分
df[order(as.numeric(gsub("k", "", df$L))),] # gsub("\\D+", "", df$L) also works
在没有任何参数的情况下执行时,您将它连接到一个无限的 stdin 流,这似乎没有响应,但实际上正在积极解析输入。您可以通过简单地输入 $> echo "puts(2 ** 5)" | ruby
$= 32
来检查它,这将终止出现语法错误的程序。
使用 end
可执行文件的正常方法是给它一个文件来执行:
ruby
您可以使用 ruby my_script.rb
答案 1 :(得分:0)
gem 安装问题似乎与 rubygems API 有 IPv6 问题有关:gem cannot access rubygems.org。
我已经编辑了我的 /etc/gai.conf 副本,gem install
问题似乎已经消失。