如何在亚马逊 Linux 系统中升级 Ruby 版本?

20

我使用padrino Ruby框架开发了Ruby应用程序。 现在我想将其部署到Amazon上。

我使用的是以下镜像: Amazon Linux AMI 2017.09.1 (HVM),SSD Volume Type

该镜像的描述为:

"Amazon Linux AMI是一种由EBS支持、得到AWS支持的镜像。默认映像包括AWS命令行工具,Python,Ruby,Perl和Java。存储库包括Docker、PHP、MySQL、PostgreSQL和其他软件包。"

启动实例后,我测试了ruby版本,结果是ruby 2.0.0p648 (2015-12-16) [x86_64-linux],但我需要ruby2.4来部署padrino框架。 我尝试整整一天更新ruby版本,但没有成功。 控制台显示当前版本是最新的,没有ruby2.4。 如何解决这个问题?(我已将gem版本更新为2.7.2)


1
删除预安装的 Ruby,然后使用任何 Ruby 版本管理器,例如 https://rvm.io 或 https://github.com/rbenv/rbenv 或 https://github.com/postmodern/chruby。顺便提一下:无论是开发还是生产,都**绝不要**使用操作系统自带的预安装 Ruby 版本。 - Aleksei Matiushkin
2个回答

33

如果您正在使用 Amazon Linux 2,较新版本的常见软件包(包括 Ruby)将使用Extras Library进行安装。要查看最新可用版本:

$ amazon-linux-extras list

您需要sudo权限来安装:

$ sudo amazon-linux-extras install ruby2.6

你如何通过amazon-linux-extras删除已安装的ruby2.6? - shintaroid
请注意,ruby3.0不会安装开发头文件,因此您无法构建本地宝石扩展。 - Phrogz
构建本地宝石扩展需要执行 yum install ruby-devel - RicHincapie
我做了这个,但没有成为默认的 Ruby 版本。 - Craig.C

21
为安装 Ruby 2.4,请执行以下命令:sudo yum install -y ruby24
若要将 Ruby 2.4 设为默认版本(旧版本仍然存在),请执行以下命令:sudo alternatives --set ruby /usr/bin/ruby2.4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接