安装RubyGems

RubyForge (http://rubyforge.org/frs/?group_id=126) 上获取RubyGems,然后运行 (如有必要,在根目录下运行)

ruby setup.rb

简单吧!这样就安装了所需的库文件和gem 命令。这个命令可以为我们完成本文档中安装以外的每件事,除了分配gems (目前还不能!).

对于Debian和Ubuntu系统: Debian和Ubuntu系统并没有在基本的Ruby包中自动包含所有的标准Ruby库。所以,你可能需要在安装rubygems前使用“apt-get”命令来安装 libyaml-ruby和libzlib-ruby。除此以外,要想安装带C扩展的 gems,你可能还需要安装ruby-dev。现在,这两个平台通常会提供“ruby-full”包来安装多数公共库。

如果用户没有访问标准安装路径 (通常为 /usr/local/lib/ruby)的权限,他们就得指定另外一个路径来安装RubyGems。

要注意的是,如果你不能在标准路径下安装RubyGems,你也不能在标准的gem库路径中安装 gems。你需要通过GEM_HOME环境变量来指定一个非标准的gem库路径。

使用以下方法在用户指定目录下(假定目录为 /home/mystuffgem库路径 /home/mygemrepository)安装RubyGems :

  $ export GEM_HOME=/home/mygemrepository  $ ruby setup.rb --prefix=/home/mystuff

注意:

  1. export命令是shell指定的。你要使用自己的操作系统和shell的相应命令。例如,windows用户应该这样:
set GEM_HOME=/home/mygemrepository
  1. 确保你将 /home/mystuff/bin加入到系统路径中,这样就可以找到gem 命令了
  2. 确保将 GEM_HOME的设置加入到你的profile文件中,这样RubyGems 就能找到你的gem库目录。
  3. 如果你想把gem库放在安装目录下,我们建议你设置成GEM_HOME prefix_dir/gems(在这里,prefix_dir是在前面的配置当中--prefix后面的值)

RubyGems的现代版本

如果你的RubyGems版本是0.8.5或是它之后的版本,你可以使用下面的命令来更新到最新版本:

  gem update --system

如果在安装ruby 库时系统要求在根目录下进行,别忘了使用sudo

RubyGems 0.8.5或RubyGems 1.2.0之前的版本 (或者更新结果为“Nothing to Update”)

如果你当前的RubyGems 版本低于0.8.5,或者确切地说是1.2.0,或者当你运行gem update —system时看到的结果为“Nothing to update”,则用以下命令:

  gem install rubygems-update  update_rubygems

手动更新

下载最新的RubyGems tar或者 zip文件,然后跟着 Installing RubyGems来操作。

现在,你已经安装RubyGems 了,你应该准备好用gems来运行应用程序了,对吗?

嗯,差不多了。

你还要做一项决定:如何让Ruby程序使用gems库。

你知道,由于gems库的版本化特性,RubyGems并没有将库文件直接存储在标准的库搜索路径中。它会在运行时将必要的gem包添加到库搜索路径中。

这就意味着在获得任何gem库之前必须先加载RubyGems。

Ruby 1.9

现在,默认的Ruby 1.9包已经在大多数平台中自动包含RubyGems了 (目前Debian系统将 RubyGems分离到另一个包中)。这就意味着在Ruby 1.9及以上版本,你不需要在加载gem 库前在程序中添加require 'rubygems'

麻烦的办法

加载RubyGems的最直接办法是在源代码中输入:

   require 'rubygems'   require 'some_gem_library'   # ...

这个办法的问题在于你不想在每个你下载的单独Ruby程序中都输入那样一行代码!当然对于你自己写的快速脚本来说没什么麻烦的,但这终究不是一个好办法。

使用 -rubygems 命令行选项

为了避免更改你安装的所有Ruby程序,你可以告诉ruby解释器在运行其它软件前先加载ruby gems。这点你很容易做到,就是在每次运行程序前,在ruby命令后添加-rubygems 选项。

ruby -rubygems my_program_that_uses_gems

这样就可以了,而且还避免了更改已安装的软件,但是每次都要输入这个选项还是很烦人。幸运的是我们还有一种解决方法。

使用RUBYOPT

通过将RUBYOPT环境变量的值设为rubygems,你就可以让Ruby在每次运行时都先加载RubyGems。这与上面的 -rubygem选项很相似,但是你只需指定一次 (而不是每次运行Ruby脚本时都要指定)。

Unix用户需要将下面一行放在.profile (或者相关的)文件中:

export RUBYOPT=rubygems

Windows用户需要使用合适的系统工具来设置RUBYOPT环境变量。 (在XP系统中选择设置/控制面板/系统,然后点击高级标,选择页面底部的“环境变量”按钮。需要注意的是一键安装会自动为你设置好RUBYOPT,除非你不让它设置。

未来之路

提前加载RubyGems软件是RubyGems的版本化软件的最大缺点。RubyGems小组正努力寻找新方法来解决这个问题。

与此同时,尽情享受RubyGems吧!

posted on 2012-02-13 15:08  风清扬令狐冲  阅读(3996)  评论(0编辑  收藏  举报

导航