cover

概念圖

為什麼 Jekyll 需要 Ruby?

你可能會問:我只是想架個靜態網站,為什麼還要裝 Ruby?

因為 Jekyll 本身就是用 Ruby 寫的。它是 Ruby 生態系裡最有名的靜態網站產生器(Static Site Generator),GitHub Pages 也是靠 Jekyll 驅動的。所以要用 Jekyll,第一步就是把 Ruby 環境搞定。

Step 1:安裝 Ruby

macOS 使用者

macOS 其實有內建 Ruby,但強烈建議不要用系統自帶的 Ruby。為什麼?因為系統 Ruby 的權限受到限制,你在安裝 gem 的時候常常會遇到 Permission denied 的錯誤,非常惱人。

推薦使用 Ruby 版本管理工具來安裝獨立的 Ruby:

用 rbenv(推薦):

brew install rbenv ruby-build
rbenv install 3.2.2
rbenv global 3.2.2

或用 Homebrew 直接裝:

brew install ruby

如果用 Homebrew 裝的,記得把路徑加到 shell 設定檔(.zshrc.bash_profile):

export PATH="/usr/local/opt/ruby/bin:$PATH"
export PATH="$(gem environment gemdir)/bin:$PATH"

Windows 使用者

RubyInstaller 下載安裝包,選擇「Ruby+Devkit」版本,安裝時勾選「Add Ruby to PATH」。

Linux 使用者

sudo apt-get install ruby-full build-essential

Step 2:安裝 Bundler

Bundler 是 Ruby 的套件管理工具,用來管理專案的 gem 相依性(你可以把它想成 Ruby 版的 npm):

gem install bundler

Step 3:驗證安裝

全部裝好之後,跑下面這幾個指令確認一切正常:

ruby -v        # 應該要顯示 3.x.x 版本
gem -v         # 確認 gem 可以正常運作
bundler -v     # 確認 bundler 已安裝

如果 ruby -v 還是顯示系統內建的舊版本(例如 2.6.x),那表示 PATH 設定還沒生效。試著重新開一個終端機視窗,或者執行 source ~/.zshrc

常見問題

  • gem install 出現 Permission denied:你可能還在用系統 Ruby,改用 rbenv 或加 --user-install 參數
  • 安裝 gem 速度很慢:可以考慮換成其他 gem source,或確認網路連線沒問題
  • bundle install 報錯找不到 native extension:通常是缺少編譯工具,macOS 可以跑 xcode-select --install

搞定 Ruby 環境後,接下來就可以安裝 Jekyll 了!