Ruby RubyGems

RubyGems 是 Ruby 的一个包办理器,它供给一个分发 Ruby 程序和库的规范格局,还供给一个办理程序包装置的东西。

RubyGems 旨在方便地办理 gem 装置的东西,以及用于分发 gem 的服务器。这类似于 Ubuntu 下的apt-get, Centos 的 yum,Python 的 pip。

RubyGems大约创立于2003年11月,从Ruby 1.9版起成为Ruby规范库的一部分。

假如你的 Ruby 低于 1.9 版别,也能够经过手动装置:

  • 首要下载装置包:。
  • 解压并进入目录,履行指令:ruby setup.rb

更新 RubyGems 指令:

$ gem update --system          # 需求办理员或root用户

Gem

Gem 是 Ruby 模块 (叫做 Gems) 的包办理器。其包括包信息,以及用于装置的文件。

Gem一般是按照".gemspec"文件构建的,包括了有关Gem信息的YAML文件。Ruby代码也能够直接树立Gem,这种情况下一般运用Rake来进行。

gem指令

gem指令用于构建、上传、下载以及装置Gem包。

gem用法

RubyGems 在功能上与 apt-get、portage、yum 和 npm 十分类似。

装置:

gem install mygem

卸载:

gem uninstall mygem

列出已装置的gem:

gem list --local

列出可用的gem,例如:

gem list --remote

为一切的gems创立RDoc文档:

gem rdoc --all

下载一个gem,但不装置:

gem fetch mygem
<p>从可用的gem中查找,例如:</p>
<pre>
gem search STRING --remote

gem 包的构建

gem指令也被用来构建和保护.gemspec和.gem文件。

运用.gemspec文件构建.gem:

gem build mygem.gemspec

修正国内源

因为国内网络原因(你懂的),导致 rubygems.org 存放在 Amazon S3 上面的资源文件间歇性衔接失利。

所以你会与遇到 gem install rack 或 bundle install 的时分半响没有响应,详细能够用 gem install rails -V 来检查履行进程。

因而咱们能够将它修正为淘宝下载源: http://ruby.taobao.org/

首要,检查当时源:

$ gem sources -l
*** CURRENT SOURCES ***

https://rubygems.org/

接着,移除https://rubygems.org/,并增加淘宝下载源 http://ruby.taobao.org/。

$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l
*** CURRENT SOURCES ***

https://ruby.taobao.org
# 请保证只要 ruby.taobao.org
$ gem install rails

假如你运用 Gemfile 和 Bundle (例如:Rails 项目)

你能够用bundle的gem源代码镜像指令。</p>
<pre>$ bundle config mirror.https://rubygems.org https://ruby.taobao.org

这样你不必改你的 Gemfile 的 source。

source 'https://rubygems.org/'
gem 'rails', '4.1.0'
...