gem install 之後,那些 gem 安裝到哪裡去了?
在 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 是我自己做的,其實沒有任何內容在裡面,所以可安心安裝!(咦?!)
所以我說那個套件呢?
安裝套件很簡單,但安裝好了之的那些檔案放哪去了? 執行 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,所以 gem 的安裝路徑會在 .rvm 目錄裡。
打包帶走
如果想要下載這些套件的原始檔,可至 RubyGems 官網下載:
下載的回來的是一個 .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: '/private/tmp/takami-0.0.1'
其實 .gem 檔案本質上就只是個壓縮檔,很多解壓縮程式應該都打得開。或是你本來就已經有安裝那個 gem 的話,也可以直接這樣做:
$ gem unpack takami
Unpacked gem: '/private/tmp/takami-0.0.1'
gem unpack
這個指令可以把 gem 解開到目前所在的目錄了(所以如果你解開我這個 takami 的 gem 就會真的看到裡面一點料都沒有了,是個空包彈)
不過通常這些 gem 的作者都會順便提供 Github 連結,直接上去看會更方便。
工商服務
實體課程:Ruby on Rails 實戰課程
線上課程:五倍學院線上課程