安装RubyGems
3.1 安装 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”包来安装多数公共库。
3.2 在用户指定的目录下安装RubyGems
如果用户没有访问标准安装路径 (通常为 /usr/local/lib/ruby
)的权限,他们就得指定另外一个路径来安装RubyGems。
要注意的是,如果你不能在标准路径下安装RubyGems,你也不能在标准的gem库路径中安装 gems。你需要通过GEM_HOME环境变量来指定一个非标准的gem库路径。
使用以下方法在用户指定目录下(假定目录为 /home/mystuff,
gem库路径 /home/mygemrepository
)安装RubyGems :
$ export GEM_HOME=/home/mygemrepository $ ruby setup.rb --prefix=/home/mystuff
注意:
export命令是
shell指定的。你要使用自己的操作系统和shell的相应命令。例如,windows用户应该这样:
set GEM_HOME=/home/mygemrepository
- 确保你将
/home/mystuff/bin加入到系统路径中,这样
就可以找到
gem
命令了。
- 确保将
GEM_HOME的
设置加入到你的profile文件中,这样RubyGems 就能找到你的gem库目录。 - 如果你想把gem库放在安装目录下,我们建议你设置成
GEM_HOME
prefix_dir/gems。
(在这里,prefix_dir是在前面的配置当中--prefix
后面的值)
3.3 更新RubyGems
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来操作。
3.4 安装之后 -- 设置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
选项。
这样就可以了,而且还避免了更改已安装的软件,但是每次都要输入这个选项还是很烦人。幸运的是我们还有一种解决方法。
使用RUBYOPT
通过将RUBYOPT环境变量的值设为
rubygems
,你就可以让Ruby在每次运行时都先加载RubyGems。这与上面的 -rubygem选项很相似,但是你只需指定一次
(而不是每次运行Ruby脚本时都要指定)。
Unix用户需要将下面一行放在.profile
(或者相关的)文件中:
Windows用户需要使用合适的系统工具来设置RUBYOPT环境变量。 (在XP系统中选择设置/控制面板/系统,然后点击高级标,选择页面底部的“环境变量”按钮。需要注意的是一键安装会自动为你设置好RUBYOPT,除非你不让它设置。
未来之路
提前加载RubyGems软件是RubyGems的版本化软件的最大缺点。RubyGems小组正努力寻找新方法来解决这个问题。
与此同时,尽情享受RubyGems吧!