Rails 除了強大的框架本身帶來的功能之外,還有許多讓人事半功倍,創造強大火力的開源套件可以使用,也就是我們所說的 Gem 了。
就是 Ruby 寫好的程式碼,帶有許多功能,將這些打包成我們所謂的 gem 也就是 套件
,供其他人進行安裝後使用。
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),分別表示:
套件下載可以透過:
網站右下角有 gemfile 及 一般終端機安裝的方式:
gem '套件名稱', '版本資訊'
(套件安裝描述) 複製到 gemfile 裡面,再以終端機進行 bundle install 或 bundle。gem install xxxx
、bundle add xxxx
的文字,系統會自動幫你安裝並且同步到 gemfile, gemlock。參考資料: