我有一台 CentOS 5.3 机器,我想运行 SASS。为此,我需要更新系统上的 Ruby 版本。我尝试了多种方法,但到目前为止都没有奏效(包括:如何在 CentOS 5.x 上更新 Ruby&在 CentOS 上安装带有 libyaml 的 Ruby 1.9.3)
尝试更新后,当我运行时ruby -v
,我仍然处于 1.8.5 版本。我重新启动了 Apache,整个机器……但无济于事。我本来打算卸载 ruby,但我读到的一些文章说不要这样做。
当我运行这些更新时,没有任何错误,一切似乎都安装正常。我确实尝试过这种方法如何在 CentOS 上设置 Ruby 和 RubyGems?这会导致如下错误file /usr/lib/ruby/1.8/yaml/types.rb from install of ruby-libs-1.8.7.352-5.el5.x86_64 conflicts with file from package ruby-libs-1.8.5-5.el5_4.8.i386
如何更新 ruby?
答案1
如果您按照这些说明进行操作make install
,则很可能将新的 ruby 放入 /usr/local/ 的某个位置。
运行时,ruby -v
您很可能会碰到默认 ruby,它可能位于 PATH 中,比您的全新 ruby 更靠前。检查echo $PATH
一下它说了什么。
您也可以考虑使用 rvm 来管理不同的 ruby 版本。
更新:
如果您不想使用 rvm,您至少应该使用包管理,并将 ruby 1.9.3 安装为 rpm。似乎没有任何适合 ruby 的良好存储库(尽管我只搜索了几分钟),但请查看以下说明:
https://github.com/imeyer/ruby-1.9.3-rpm
您可能需要先删除旧的 1.8 ruby。
答案2
我同意 cjc 的观点。此外,要找到新的 ruby 二进制文件的位置,你应该可以使用以下命令:sudo updatedb located bin/ruby