紅寶石 紅寶石寶石


RubyGems 是 Ruby 的一個套件管理器,它提供一個分發 Ruby 程式和函式庫的標準格式,也提供一個管理程式包安裝的工具。

RubyGems 旨在方便地管理 gem 安裝的工具,以及用於分發 gem 的伺服器。這類似於 Ubuntu 下的apt-get, Centos 的 yum,Python 的 pip。

RubyGems大約創建於2003年11月,從Ruby 1.9版起成為Ruby標準庫的一部分。

如果你的 Ruby 低於 1.9 版本,也可以透過手動安裝:

  • #先下載安裝套件:https://rubygems.org/pages/download。

  • 解壓縮並進入目錄,執行指令: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

從可用的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'
...