iT邦幫忙

2022 iThome 鐵人賽

DAY 25
0
Modern Web

一探紅寶石的神秘面紗 - Ruby 及 Rails入門介紹 系列系列 第 25

Day 25 - 享受 Rails 的神兵利器:Gem (套件)

  • 分享至 

  • xImage
  •  

Rails 除了強大的框架本身帶來的功能之外,還有許多讓人事半功倍,創造強大火力的開源套件可以使用,也就是我們所說的 Gem 了。

Gem 是甚麼?

就是 Ruby 寫好的程式碼,帶有許多功能,將這些打包成我們所謂的 gem 也就是 套件,供其他人進行安裝後使用。

Gemfile & Gemlock

Gemfile:
是一個用來描述 Ruby 程式中 gem 相依賴關係的檔案。裡面會記錄好我們每個要安裝的套件,包含安裝的版本資訊等等,例如:

# gem '套件名稱', '版本資訊'

# 選用 4.2.0 以上,但 4.3.0 以下(不包括 4.3.0)的最新版本。
gem 'devise', '~> 4.2'

# 選用 4.2.0 以上的最新版本。
gem 'devise', '>= 4.2'

# 選用 4.2.0 以上,但小於 4.5.0 的最新版本。
gem 'devise', '>= 4.2', '< 4.5'

Gemfile.lock
是紀錄 gem 實際安裝版本。當這個專案有其他共同的開發者時,只要執行 bundle install 就會去查看 Gemfile.lock 來安裝同一個版本,一般不會去修改這份檔案內容。可以讓不同開發者在開發、測試、佈署時,所有的套件版本能夠一致。

版號

版本的三個數字分別代表主要版號(Major)、次要版號(Minor)以及修訂版號(Patch),分別表示:

  • 主要版號:功能大更新,通常主要版號不同就沒辦法向下相容
  • 次要版號:加了某些新功能,但不影響其它功能,次要版號不同通常可向下相容
  • 修訂版號:對現有的功能做了小幅度的修正,修訂版號不同通常可向下相容

如何下載及安裝

套件下載可以透過:

  • Rubygems
    這是一個 Ruby 的 Gem 套件管理服務社群,裡面有所有可以使用的套件資訊。

網站右下角有 gemfile 及 一般終端機安裝的方式:

  1. gemfile 部分只要將文字內容如 gem '套件名稱', '版本資訊' (套件安裝描述) 複製到 gemfile 裡面,再以終端機進行 bundle install 或 bundle。
  2. 終端機安裝是直接在終端機輸入例如 gem install xxxxbundle add xxxx的文字,系統會自動幫你安裝並且同步到 gemfile, gemlock。
  • 官方github
    通常會在套件的來源都會傳到 github 上面,所以 readme 內會寫上相關的安裝及使用方式,可能用到的方式也是上面兩種類型。知道套件的名稱通常就可以直接去 github 上面找相關的使用說明。

參考資料:

  1. 為你自己學 Ruby on Rails
  2. rubygems

上一篇
Day 24 - 進入Rails世界必須懂:Model 關聯性 (N:N)
下一篇
Day 26 - 享受 Rails 的神兵利器:Devise(基本使用及介紹)
系列文
一探紅寶石的神秘面紗 - Ruby 及 Rails入門介紹 系列30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言