`

[转载]使用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呢?之前默认的貌似不能用了……

相关推荐

    如何安装 Ruby 和 RubyGems

    在Ubuntu系统中,你可以使用`apt-get`命令安装Ruby和RubyGems,然后通过`update_rubygems`命令更新RubyGems。对于RedHat和Fedora用户,可以使用`yum`命令进行安装,同样需要更新RubyGems以确保其是最新的。 在...

    rubygems ruby 包管理

    本文将深入探讨RubyGems的工作原理、使用方法以及其在Ruby生态系统中的重要性。 ### RubyGems的基本概念 1. **Gem**:Gem是RubyGems的基本单位,它是一个包含了代码、元数据和依赖关系的自包含包。一个Gem可以是一...

    rubygems-2.6.12.tgz

    RubyGems是Ruby编程语言的一个核心组成部分,它提供了一个便捷的包管理器,用于安装、管理和使用Ruby库和应用程序。这个“rubygems-2.6.12.tgz”文件是一个压缩包,包含了RubyGems的2.6.12版本源代码。TGZ是一种常见...

    rubygems-2.4.6

    在Ruby开发中,RubyGems扮演着至关重要的角色,因为它使得开发者能够方便地使用别人编写的模块,无需从头开始编写所有代码。 RubyGems的工作原理主要包括以下几个方面: 1. **打包机制**:RubyGems允许开发者将...

    rubygems-1.8.7.gz for linux

    RubyGems是Ruby编程语言的一个核心组成部分,它提供了一个管理和分发Ruby库和程序的框架。...理解和掌握如何安装和使用RubyGems是Ruby开发者的基本技能,它极大地简化了代码的依赖管理和版本控制。

    rubygems-2.4.2.tgz

    RubyGems是Ruby编程语言的一个核心组成部分,它提供了一个管理和分发Ruby库的框架,使得开发者可以方便地安装、更新和使用各种Gem(Ruby的软件包)。RubyGems的版本"2.4.2"是这个系统的一个特定迭代,包含了在那个...

    rubygems-2.6.8.zip

    RubyGems提供了一个结构化的包管理方式,允许开发者将他们的代码封装为"gem",并方便地分享和使用他人的gem。它包括一个命令行工具,可以用来安装、更新、卸载和管理gem。在本例中,"rubygems-2.6.8.zip"是RubyGems...

    rubygems-1.6.2.tgz

    RubyGems是Ruby编程语言的一个核心组成部分,它提供了一个管理和分发Ruby库的框架。这个“rubygems-1.6.2.tgz”文件是一个压缩包,包含了RubyGems的1.6.2版本,这是一个早期但仍然重要的版本。在Redmine项目管理系统...

    rubygems-2.7.4.tgz

    RubyGems是Ruby编程语言的一个核心组件,它提供了一个便捷的包管理机制,使得开发者能够轻松地安装、管理和使用各种库和工具。在本案例中,“rubygems-2.7.4.tgz”是一个压缩包,包含了RubyGems的特定版本——2.7.4...

    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

    - **文档**:RubyGems鼓励生成和包含API文档,便于其他开发者理解和使用gem。 - **bin目录**:包含可执行脚本,可以在全局路径上安装,供终端直接使用。 3. **RubyGems的版本2.6.12**: - **改进和修复**:这个...

    rubygems-3.2.12.tgz

    RubyGems可能使用Redis来存储gem的元数据或作为gem服务器的一部分。 5. **安装过程**: 用户可以通过命令行工具`gem`来安装这个压缩包,首先需要解压,然后执行`gem build`来创建`.gem`文件,最后使用`gem install...

    rubygems-3.2.27.zip

    3. **版本控制**:通过版本号,RubyGems确保不同的项目可以使用不同版本的同一gem,避免了版本冲突问题。 4. **全局环境**:RubyGems在全局环境中安装gem,使得它们对所有项目都可用。此外,还支持局部gemset,以在...

    rubygems2.4.8

    用户可以通过解压文件,然后按照指示进行安装,以便在他们的系统上使用这个版本的RubyGems。 综上所述,RubyGems 2.4.8是Ruby生态系统中的一个关键组件,它为开发者提供了强大的包管理功能,包括安装、更新、依赖...

    rubygems-1.3.1

    RubyGems,简称 gems,是Ruby编程语言的一个核心组成部分,专为简化软件组件的分发、管理和使用而设计。在Ruby社区中,它扮演着至关重要的角色,因为开发者可以利用它来创建、发布和安装各种库和应用程序。RubyGems ...

    rubygems-2.4.2 redis-3.2.1.gem

    这里我们将详细探讨如何使用RubyGems安装Redis集群以及相关知识。 首先,让我们了解RubyGems。RubyGems是Ruby的标准包管理系统,它允许开发者打包Ruby程序和库,并且方便用户安装和管理这些程序。"rubygems-2.4.2....

    rubygems-3.2.27.tgz

    RubyGems是Ruby编程语言的标准包管理器,它使得安装、管理和使用软件库(或gem)变得简单。"rubygems-3.2.27.tgz" 是RubyGems的一个特定版本,即3.2.27版的压缩包文件,通常包含源代码和其他必要的构建文件。这个...

    rubygems-3.0.2

    RubyGems是Ruby编程语言的一个核心组成部分,它提供了一个便捷的包管理机制,用于安装、管理和使用Ruby库,也就是所谓的“gem”。这个“rubygems-3.0.2”压缩包包含了RubyGems的特定版本,即3.0.2,用户可以通过下载...

    rubygems-1.3.7

    5. **源与仓库**:默认情况下,RubyGems使用官方的gem服务器作为gem的来源,但也可以配置为从其他仓库(如私有仓库)获取gem。这对于企业内部开发或有特定合规要求的项目尤其有用。 6. **命令行工具**:RubyGems...

    rubygems-2.7.7

    在描述中提到的"直接解压就可以使用",意味着这个压缩包可能是为那些不希望通过RubyGems官方仓库安装,或者在网络连接受限的情况下提供的一种离线安装方式。用户解压后,可以找到包含`setup.rb`或`install.rb`这样的...

Global site tag (gtag.js) - Google Analytics