在CentOs 5上安装RubyGem

时间:2014-03-09 18:35:54

标签: ruby rubygems centos

我的最终目标是安装Sass。

要做到这一点,我需要安装RubyGems

要做到这一点,我需要安装Ruby。

我使用yum安装了Ruby。

然后我尝试使用yum yum install rubygem

安装gem

回应是“无事可做”,但当我写gem install sass时,我得到了:

gem: command not found

我决定尝试手动安装rubygems 2.2.2。下载后,我尝试运行ruby setup.rb,作为回应我得到:

Rubygems now requires Ruby 1.8.7 or later

但是yum似乎无法在1.8.5之后安装任何东西。

所以现在我正在尝试手动执行此操作。

我将Ruby 1.9.2下载到我的主目录并按照以下说明操作:http://howboring.com/post/1226760251/centos-5-and-rails-3-and-ruby-1-9-2

这似乎有效,但问题是ruby1.9.2安装在我的主目录中(即~/ruby1.9.3不是系统范围的。

因此,在我安装的目录中,ruby 1.9.2 ruby -v仍然提供1.8.5但./ruby -v返回1.9.2。并且which ruby会返回/usr/bin/ruby(我想我可以用指向~/ruby1.9.2/ruby的符号链接替换它,但这似乎不是“最佳做法”)

所以我的主要问题是应该在哪里安装带有Root权限的ruby 1.9.2,以便将1.8.5替换为1.9.2系统范围。

我的推论是:有没有更简单的方法呢? (也许在没有安装rubygems的情况下安装sass?)

3 个答案:

答案 0 :(得分:4)

  

然后我尝试用yum yum install ruby​​gem安装gem

包名中有拼写错误,实际上名为rubygem s

答案 1 :(得分:3)

我能否建议Wayne Seguins出色rvm(ruby版本经理)。正如主页所述:

  

“RVM是一个命令行工具,可让您轻松安装,管理和使用从解释器到宝石集的多个ruby环境”。

网站具有全面的安装instructions。我在下面发布了一套截断的POSIX系统安装说明,但请参阅项目主页

  

“我们花了大量的工时来调试安装过程。请仅使用此站点的安装过程,因为这是唯一受支持的安装类型和方法。”

安装RVM(开发​​版):

\curl -sSL https://get.rvm.io | bash

关闭当前的shell或终端会话并打开一个新会话(首选)。您可以使用以下命令加载RVM:

user$ source ~/.rvm/scripts/rvm

测试安装是否成功:

user$ type rvm | head -n 1

这应该输出“rvm是一个函数”

列出所有已知的红宝石:

rvm list known //this will output a large list of rubies shortened here
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-p374]
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p320]
[ruby-]1.9.3[-p545]
[ruby-]2.0.0-p353
[ruby-]2.0.0[-p451]
[ruby-]2.1[.1]
[ruby-]2.1-head
ruby-head
...

安装所需的版本:

rvm install 1.9.2

您可以设置Ruby的版本以用作新shell的默认值。请注意,这会覆盖'system'ruby:

rvm use 2.1 --default

您还可以暂时使用其他版本的ruby版本

rvm list known //lists system available rubies

选择使用其他红宝石

rvm use 1.9.3

RVM是一个很好的工具,文档齐全,并且积极开发,它处理的功能范围比我在这里列出的范围更广,而且它是我每天使用的工具。

答案 2 :(得分:1)

您可以使用rbenv来安装所需的ruby和rubygems https://gist.github.com/jpfuentes2/2002954