`

[转载]使用RubyGem

阅读更多
s翻译:insight777 | 2010-03-21 14:53:02 | 阅读477
2.1 Basic Gem Usage
本章将给出一些用户常用的使用gem 命令进行操作的例子。有关特殊gem命令的细节请参见 gem Command Reference 手册。

在RubyGems中,版本化是一个非常基本的概念。你可以看看 Specifying Versions 这一章来更好地理解版本在RubyGems中是怎样协同工作的。

2.2 列出远程可安装的gems
如果你运行

gem query —remote # 快捷方式: gem q -R
你会看到所有远程服务器端gem包的详细列表。

简单的输出结果(已被严重简化):

*** REMOTE GEMS ***

activerecord (0.8.4, 0.8.3, 0.8.2, 0.8.1, 0.8.0, 0.7.6, 0.7.5)
  Implements the ActiveRecord pattern for ORM.

BlueCloth (0.0.4, 0.0.3, 0.0.2)
  BlueCloth is a Ruby implementation of Markdown, a
  text-to-HTML conversion tool for web writers.
  Markdown allows you to write using an easy-to-read,
  easy-to-write plain text format, then convert it to
  structurally valid XHTML (or HTML).

captcha (0.1.2)
  Ruby/CAPTCHA is an implementation of the 'Completely
  Automated Public Turing Test to Tell Computers
  and Humans Apart'.

cardinal (0.0.4)
  Ruby to Parrot compiler.

cgikit (1.1.0)
  CGIKit is a componented-oriented web application
  framework like Apple Computers WebObjects. This
  framework services Model-View-Controller architecture
  programming by components based on a HTML file, a
  definition file and a Ruby source.

progressbar (0.0.3)
  Ruby/ProgressBar is a text progress bar library for
  Ruby. It can indicate progress with percentage, a
  progress bar, and estimated remaining time.

rake (0.4.0, 0.3.2)
  Ruby based make-like utility.

progressbar gem是一个既好用又简单的工具,我们将会用它来展示更多的特性。

2.3 搜索远程可安装的gems
如果你运行

gem query --remote --name-matches doom
  # 快捷方式: gem q -R -n doom
你会看到所有的远程服务器上与doom相匹配的gem包详细列表。

简单的输出结果:

*** REMOTE GEMS ***

ruby-doom (0.8, 0.0.7)
  Ruby-DOOM provides a scripting API for creating DOOM
  maps. It also provides higher-level APIs to make map
  creation easier.
2.4 安装远程gem
如果你运行 (如有必要,在根目录下运行)

gem install --remote progressbar
# 快捷方式: gem i -r progressbar
progressbargem就会安装在你的电脑上。要注意的是你不必指定它的版本,但是如果你一定要指定也可以。因为它默认会自动安装最新的版本。

gem ins -r progressbar-0.0.3
或者

gem ins -r progressbar --version '> 0.0.1'
这两种情况的输出结果都十分简单:

Attempting remote installation of ‘progressbar’Successfully installed progressbar, version 0.0.3
RubyGems允许你安装某个库的不同版本,并在代码中指定实际要使用的版本。

安装命令的其它有用参数是—gen-rdoc,用来生成gem包的RDoc API documentation,以及—run-tests,用来运行的单元测试(如果有单元测试的话)。

还要注意的是,当你远程安装gem包的时候,同时也将下载和安装所有规定的附属文件。你可以尝试着安装copland,然后它会弹出让你也接受log4r的提示(如果你还没安装它的话)。

2.5 查看已经安装的gem
如果你运行

gem specification progressbar
# 快捷方式: gem spec progressbar
你会看到’’progressbar’’ gem的详细内容。

简单的输出结果:

--- !ruby/object:Gem::Specification
  rubygems_version:"1.0\"
  name: progressbar
  version: !ruby/object:Gem::Version
  version: 0.0.3
  date: 2004-03-20 20:03:00.679937 +11:00
  platform:
  summary: "Ruby/ProgressBar is a text progress bar library for Ruby. It can
  indicate progress with percentage, a progress bar, and estimated
  remaining time."
  require_paths:
  - lib
  files:
  - sample/test.rb
  - lib/progressbar.rb
  - docs/progressbar.en.rd
  - docs/progressbar.ja.rd
  - ChangeLog
  autorequire: progressbar
  author: Satoru Takabayashi
  email: satoru@namazu.org
  homepage: http://namazu.org/~satoru/ruby-progressbar/

这些有趣的信息包括作者的情况,gem的版本和描述。

还有一些让RubyGems正确使用本gem的重要技术提示。它们包括gem包包含的所有文件,从哪里引入文件,以及默认需要的文件 (之后会有更多与此相关的内容)。

2.6 御载gem
如果我们使用完progressbar,可以将它御载。

gem uninstall progressbar
简单的输出结果:

Successfully uninstalled progressbar version 0.0.3
如果这个gem还安装了一个版本,gem命令会询问你想删除哪个版本。

如果有其它的gem需要于这个要被御载的gem,并且没有其它解决办法来替代这个gem,用户将会收到一个警告,并且可以取消此次御载。

2.7 列出所有已经安装的gems
非常简单,运行:

gem query --local
# 快捷方式: 'gem q -L'
2.8 本地和远程操作的注意事项
毫无疑问,你已经注意到 —local和 —remote出现在目前为止的多数命令行中。如果你不指定它们, gem会尝试本地和远程两个操作。例如:

gem ins rake # 尝试本地安装,如有必要,进行远程安装

gem list -b ^C # 列出所有以“C”开始的本地和远程gems

2.9 浏览所有已安装的gems及其文档
你可以运行自己的gem服务器。这就意味着其它人能(潜在地)安装你电脑上的gems。进而说明你可以在网络浏览器上查看已安装的gem。只需运行:

gem server
然后将页面指向:http://localhost:8808

只要你在安装gem的时候要求生成它的文档,你就能够浏览它们。

2.10 使用配置文件
如果你总是需要为安装的gem生成RDoc documentation文档,并且运行单元测试,你可以在配置文件(home 目录中的.gemrc文件)中指定这些命令行参数。

gem: --rdoc --test
使用配置文件还可以完成其它事情(RDoc 的参数,GEMPATH 的设置)。运行`gem help env`来查看详细内容。

2.11 其它特性
gem check —alien 会报告RubyGems 库中的流氓(不受管理的)文件。

gem check —verify progressbar 会检查已经安装的 ’’progressbar’’ gem对应其校检和是否有效。
分享到:
评论
1 楼 hexawing 2010-06-25  
请问我怎样指定它去哪个服务器下载gem呢?之前默认的貌似不能用了……

相关推荐

    rubygems-update-3.1.3.gem

    RubyGems is also a client for RubyGems.org, a public repository of Gems that allows you to publish a Gem that can be shared and used by other developers. See our guide on publishing a Gem at guides....

    rubygems-2.6.12.tgz

    rubygems-2.6.12.tgz

    如何安装 Ruby 和 RubyGems

    如何安装 Ruby 和 RubyGems做一些简单介绍

    rubygems ruby 包管理

    rubygems ruby 包管理,最新的

    rubygems-1.4.2.tgz

    RubyGems(简称 gems)是一个用于对 Rails 组件进行打包的 Ruby 打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装...使用它可以方便第从远程服务器下载并安装Rails。rubygems-1.4.2版本。

    rubygems-1.8.7.gz for linux

    rubygems-1.8.7.gz rubygems-1.8.7.gz

    rubygems-3.2.27.tgz

    rubygems-3.2.27

    rubygems-3.2.12.tgz

    rubygems-3.2.12.tgz

    rubygems

    rubygems

    rubygems-2.4.2.tgz

    rubygems,ruby,gems,ruby

    rubygems v1.8.4.zip

    RubyGems是一个方便而强大的Ruby程序包管理器( package manager),类似RedHat的RPM.它将一个Ruby应用程序打包到一个gem里,作为一个安装单元。 特点: 能远程安装包 包之间依赖关系的管理 简单可靠的卸载...

    rubygems-2.6.12

    rubygems-2.6.12.zip

    rubygems-update-1.3.1.gem

    rubygems-update-1.3.1.gem

    rubygems-2.7.4.tgz

    rubygems-2.7.4.tgz centos6.5安装redmine时需要的软件包

    rubygems-2.4.2 redis-3.2.1.gem

    安装redis 集群所需要的rubygems-2.4.2 redis-3.2.1.gem

    rubygems-1.6.2.tgz

    是我搭建redmine过程中所使用到的资源,因为感到很多东西不太好找,所以给上传上来,供自己和大家使用。

    rubygems-2.6.13.tar.gz

    RubyGems(简称 gems)是一个用于对 Ruby组件进行打包的 Ruby 打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。

    rubygems-1.3.1

    RubyGems(简称 gems)是一个用于对 Rails 组件进行打包的 Ruby 打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。

    rubygems-update-1.3.4.gem

    升级gem,把gem包拷贝到ruby安装目录,在dos界面输入命令:gem install rubygems-update-1.3.4.gem(gem包名)

Global site tag (gtag.js) - Google Analytics