Latest web development tutorials

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 版本,也可以通過手動安裝:

更新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

從可用的gem中搜索,例如:

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源代碼鏡像命令。

$ bundle config mirror.https://rubygems.org https://ruby.taobao.org

這樣你不用改你的Gemfile 的source。

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