我很沮丧:我想要yum install ruby
并安装Ruby 2.4.1或2.3.0。相反,似乎我必须使用RVM或rbenv来获得2.0.0之后的任何版本,并且这两个工具都需要一些艰苦的过程。
为什么这么复杂?我不能用一个yum命令安装Ruby并使用'/ usr / bin / ruby'就像我'/ usr / bin / java'一样?
答案 0 :(得分:5)
Ruby版本之间的事情发生了变化。随着Ruby 2.4.0的发布,需要更新许多宝石和应用程序,以便兼容而不会破坏,包括JSON,Rails,Nokogiri等。
现在,通过操作系统分发,人们通常会期待两件事:
如果CentOS维护者要升级他们的Ruby版本中期版本,他们必须确保他们发布的所有其他依赖于Ruby的软件也与这个新版本兼容,可能还要更新它。这导致维护噩梦,因为这些更新通常也会改变要求稳定性的第一点。
由于该发行版通常只发布一个版本的Ruby(或Python或Perl),并且只通过将修复程序反向移植到其版本来修复必要的错误。主要更新通常仅在完整的新操作系统版本中完成。这种情况发生的频率取决于您使用的分布。 CentOS / RHEL往往非常慢,Debian是如此,Ubuntu的LTS版本更新速度更慢,更新版本更快。
一般来说,你为了止血而交易稳定性。对于他们的基本操作系统,大多数运行服务器的人倾向于支持稳定性。
要为您自己的应用程序使用较新版本的Ruby,您仍然可以使用rbenv,RVM或任何其他Ruby安装程序。您可以在操作系统版本中安装这些自定义Ruby版本,并配置您自己的应用程序以使用这些版本。