在 Ubuntu 20.10 上安装 Ruby 3.0 已经死了

问题描述

删除了所有旧的 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 包管理器处于活动状态,但在尝试从 ruby​​gems.org 下载时失败 (Net::OpenTimeout)。

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

解决方法

这是正常的 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

查看更多选项 ,

gem 安装问题似乎与 ruby​​gems API 有 IPv6 问题有关:gem cannot access rubygems.org

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...