# gem install 之後，那些 gem 安裝到哪裡去了?

> 

Published: 2016-04-29
URL: https://kaochenlong.com/where-are-the-installed-gems

---

在 Ruby 要安裝套件超簡單的，只要 `gem install` 指令加上套件的名字，敲完按下 Enter 鍵，就自動會連上網路、下載套件、安裝套件，一氣呵成：

    $ gem install takami
    Fetching: takami-0.0.1.gem (100%)
    Successfully installed takami-0.0.1
    Parsing documentation for takami-0.0.1
    Installing ri documentation for takami-0.0.1
    Done installing documentation for takami after 0 seconds
    1 gem installed

如果該套件有需要其它套件，它也會一併順便一起下載、安裝。這個 `takami` gem 是我自己做的，其實沒有任何內容在裡面，所以可安心安裝!(咦?!)

&lt;!--more--&gt;

## 所以我說那個套件呢?

安裝套件很簡單，但安裝好了之的那些檔案放哪去了? 執行 `gem environment` 或 `gem env` 可列出目前在這台電腦的設定：

    $ gem env
    RubyGems Environment:
      - RUBYGEMS VERSION: 2.5.1
      - RUBY VERSION: 2.3.1 (2016-04-26 patchlevel 112) [x86_64-darwin14]
      - INSTALLATION DIRECTORY: /Users/user/.rvm/gems/ruby-2.3.1
      - USER INSTALLATION DIRECTORY: /Users/user/.gem/ruby/2.3.0
      - RUBY EXECUTABLE: /Users/user/.rvm/rubies/ruby-2.3.1/bin/ruby
      - EXECUTABLE DIRECTORY: /Users/user/.rvm/gems/ruby-2.3.1/bin
      - SPEC CACHE DIRECTORY: /Users/user/.gem/specs
      - SYSTEM CONFIGURATION DIRECTORY: /Users/user/.rvm/rubies/ruby-2.3.1/etc
      - RUBYGEMS PLATFORMS:
      ... 略

那個 `INSTALLATION DIRECTORY` 就是 gem 安裝的地方，裡面翻一下應該就可以找得到剛剛安裝的 `takami` 套件了。因為我是使用 [RVM](https://rvm.io/)，所以 gem 的安裝路徑會在 .rvm 目錄裡。

## 打包帶走

如果想要下載這些套件的原始檔，可至 [RubyGems](https://rubygems.org/) 官網下載：

![RubyGems](/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBY009IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--01fe49d43f041fc9b4c2b752eb385b8a78cd0b6b/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2RkhKbGMybDZaVjkwYjE5c2FXMXBkRnNIYVFJQUJXa0NBQVE9IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--578d6799c87a604ca574298502ba874c9075e929/rubygems-org.png)

下載的回來的是一個 .gem 檔(例如：takami-0.0.1.gem)，這個 .gem 本身也可以直接拿來安裝，同樣是使用 `gem install` 指令：

    $ gem install takami-0.0.1.gem

這樣一樣可以達到安裝的目的。如果你對這個 .gem 檔的內容有興趣，可以使用 `gem unpack` 指令把它解開：

    $ gem unpack takami-0.0.1.gem
    Unpacked gem: &#39;/private/tmp/takami-0.0.1&#39;

其實 .gem 檔案本質上就只是個壓縮檔，很多解壓縮程式應該都打得開。或是你本來就已經有安裝那個 gem 的話，也可以直接這樣做：

    $ gem unpack takami
    Unpacked gem: &#39;/private/tmp/takami-0.0.1&#39;

`gem unpack` 這個指令可以把 gem 解開到目前所在的目錄了(所以如果你解開我這個 takami 的 gem 就會真的看到裡面一點料都沒有了，是個空包彈)

不過通常這些 gem 的作者都會順便提供 Github 連結，直接上去看會更方便。


