了解Ruby Gems

RubyGems是什么?官方解释是这样的:

A RubyGem is a software package, commonly called a “gem”. Gems contain a packaged Ruby application or library. The RubyGems software itself allows you to easily download, install, and manipulate gems on your system.

所谓RubyGem,就是一个个软件包,通常被简称为“gem”。通常一个Gem里包含一个Ruby应用程序或者一个Ruby程序库。而RubyGems软件本身允许用户在自己的系统中轻松地下载、安装、操作Gems。

以下两个网址无论如何都应该放到自己的收藏夹里:

  • http://rubygems.org/
  • http://guides.rubygems.org/

最著名的Gem之一,当然是Rails——当我们安装Rails的时候,使用的命令行是:

gem install rails

另外几个上来就可以玩玩的gems包括typo(一个博客程序),refinery(一个CMS程序),都可以在http://rubygems.org/里找到。

最常用的几个gem命令包括:

  • gem build
  • gem cert
  • gem check
  • gem cleanup
  • gem contents
  • gem dependency
  • gem environment
  • gem fetch
  • gem generate_index
  • gem help
  • gem install
  • gem list
  • gem lock
  • gem outdated
  • gem owner
  • gem pristine
  • gem push
  • gem query
  • gem rdoc
  • gem search
  • gem server
  • gem sources
  • gem specification
  • gem stale
  • gem uninstall
  • gem unpack
  • gem update
  • gem which

然而,与安装Ruby和Rails的时候我们更喜欢使用rvm一样,安装gems也可以使用rvm,因为rvm允许用户使用gemset(即,你可以针对不同的情况使用不同的gemset):

rvm gemset create global
rvm gemset use global

如此生成的gemset是全局使用的。当然还可以生成自定义的gemset:

rvm gemset create YourGemsetName
rvm gemset use YourGemsetName

注意:gemsets的信息被保存在~/.rvm文件中。

如果你想删除掉某个gemset,可以使用以下命令:

rvm gemset empty YourGemsetName

以后,如若你想在某个应用程序中使用某个特定的gemset,那么,可以在app目录下创建一个.rvmrc文件,内容为:

rvm use RUBY_VERSION@YOUR_GEMSET

例如:

rvm use 1.9.2@samplegemset

这样的话,再该应用程序目录中运行”bundle install”的时候,rvm会自动调用.rvmrc文件里指定的gemset。

你可能感兴趣的:(Rails,notes)