为什么可以';我不能用yum安装最新版本的ruby吗?

为什么可以';我不能用yum安装最新版本的ruby吗?,ruby,Ruby,我很沮丧:我想yum安装ruby并安装ruby 2.4.1或2.3.0。相反,我似乎必须使用RVM或rbenv来获得2.0.0之后的任何版本,这两种工具都需要一些艰苦的过程 为什么这么复杂?难道我不能用一个yum命令安装Ruby并像使用“/usr/bin/java”一样使用“/usr/bin/Ruby”吗?Ruby版本之间的情况会有所不同。随着Ruby 2.4.0的发布,许多Gem和应用程序需要更新,以便在不中断的情况下兼容,包括JSON、Rails、Nokogiri和其他 现在,对于操作系统发

我很沮丧:我想
yum安装ruby
并安装ruby 2.4.1或2.3.0。相反,我似乎必须使用RVM或rbenv来获得2.0.0之后的任何版本,这两种工具都需要一些艰苦的过程


为什么这么复杂?难道我不能用一个yum命令安装Ruby并像使用“/usr/bin/java”一样使用“/usr/bin/Ruby”吗?

Ruby版本之间的情况会有所不同。随着Ruby 2.4.0的发布,许多Gem和应用程序需要更新,以便在不中断的情况下兼容,包括JSON、Rails、Nokogiri和其他

现在,对于操作系统发行版,人们通常期望两件事:

  • 在它的发布周期中相对稳定,所以昨天有效的东西明天继续有效
  • 所有装运的软件包都相互兼容
  • 如果CentOS维护人员要在发布中期升级他们的Ruby版本,他们将必须确保他们发布的所有其他依赖Ruby的软件也与这个新版本兼容,可能还需要对其进行更新。这导致了一场维护噩梦,因为这些更新通常也会改变打破稳定性要求的第一点的特性

    正因为如此,发行版通常只提供单一版本的Ruby(或Python或Perl),并且只通过将修复后的版本移植到它们的版本来修复必要的bug。主要的更新通常只在一个完整的新OS版本中完成。这种情况发生的频率取决于您使用的分布。CentOS/RHEL的速度往往非常慢,Debian的速度非常慢,Ubuntu更新LTS版本的速度较慢,更新常规版本的速度更快

    总的来说,你用稳定换取前沿。对于他们的基本操作系统,大多数运行服务器的人倾向于支持稳定性


    要在自己的应用程序中使用更新版本的Ruby,您仍然可以使用rbenv、RVM或任何其他Ruby安装程序。您可以在操作系统版本中安装这些定制的Ruby版本,并配置您自己的应用程序以使用这些版本。

    Ruby版本之间会发生变化。随着Ruby 2.4.0的发布,许多Gem和应用程序需要更新,以便在不中断的情况下兼容,包括JSON、Rails、Nokogiri和其他

    现在,对于操作系统发行版,人们通常期望两件事:

  • 在它的发布周期中相对稳定,所以昨天有效的东西明天继续有效
  • 所有装运的软件包都相互兼容
  • 如果CentOS维护人员要在发布中期升级他们的Ruby版本,他们将必须确保他们发布的所有其他依赖Ruby的软件也与这个新版本兼容,可能还需要对其进行更新。这导致了一场维护噩梦,因为这些更新通常也会改变打破稳定性要求的第一点的特性

    正因为如此,发行版通常只提供单一版本的Ruby(或Python或Perl),并且只通过将修复后的版本移植到它们的版本来修复必要的bug。主要的更新通常只在一个完整的新OS版本中完成。这种情况发生的频率取决于您使用的分布。CentOS/RHEL的速度往往非常慢,Debian的速度非常慢,Ubuntu更新LTS版本的速度较慢,更新常规版本的速度更快

    总的来说,你用稳定换取前沿。对于他们的基本操作系统,大多数运行服务器的人倾向于支持稳定性


    要在自己的应用程序中使用更新版本的Ruby,您仍然可以使用rbenv、RVM或任何其他Ruby安装程序。您可以在操作系统版本中安装这些自定义Ruby版本,并配置自己的应用程序以使用这些版本。

    Cuz docs()比如:
    安装的版本通常是特定发行版本发布时可用的最新版本的Ruby。
    尝试使用repos:为了确保启用了最新的centos repos,这是一个自我施加的限制。比如说,他们为什么不在自己的repo中提供最新版本呢?我做的每一次ruby/centos搜索都会让我找到RVM安装说明。这让我认为这是安装它的唯一方法。也许如果我有时间,我会尝试玩回购猜测游戏
    rvm
    rb_env
    可能是一个更好的选择,因为它们允许多个ruby版本在一个环境中很好地共存。还有,小鸟们!因为
    yum
    的维护人员比跟踪Ruby发布新版本有更好的事情要做。另外,如果
    yum
    为您提供了一个相对最新的.Cuz文档()比如:
    安装的版本通常是特定发行版本发布时可用的最新版本的Ruby。
    尝试使用repos:为了确保启用了最新的centos repos,这是一个自我施加的限制。比如说,他们为什么不在自己的repo中提供最新版本呢?我做的每一次ruby/centos搜索都会让我找到RVM安装说明。这让我认为这是安装它的唯一方法。也许如果我有时间,我会尝试玩回购猜测游戏
    rvm
    rb_env
    可能是一个更好的选择,因为它们允许多个ruby版本在一个环境中很好地共存。还有,小鸟们!因为
    yum
    的维护人员比跟踪Ruby发布新版本有更好的事情要做。另外,如果
    yum
    为您提供了一个相对最新版本来说比较稳定的版本,则更好。答案很好,但不要忘记与rbenv和rvm选项并列的Vagrant和Docker。同样从源代码构建答案很好,但不要忘记与rbenv和rvm选项并列的Vagrant和Docker。同样从源代码构建