cover

Jekyll 前置作業:搞定 Ruby 環境

想架 Jekyll,結果卡在 Ruby 安裝?你不是第一個。

先講結論

概念圖

Jekyll 是 Ruby 寫的,所以第一步是裝 Ruby。macOS 有內建 Ruby 但不要用它(權限問題會讓你很痛苦)。用 rbenv 裝一個獨立的 Ruby,再裝 Bundler,驗證一下版本,就搞定了。

為什麼不能用系統 Ruby?

macOS 自帶的 Ruby 是給系統用的,權限被鎖住了。你一裝 gem 就會遇到 Permission denied,然後你會去 Google,Google 會叫你 sudo gem install,你照做了,接下來就是一連串的權限災難。

不要走那條路。裝一個自己的 Ruby。

安裝 Ruby

macOS(推薦用 rbenv)

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

或者 Homebrew 直接裝也行,但記得改 PATH:

brew install ruby
# 加到 .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」。就這樣,Windows 反而最簡單。

Linux

sudo apt-get install ruby-full build-essential

裝 Bundler

Bundler 是 Ruby 的套件管理工具,你可以把它想成 Ruby 版的 npm:

gem install bundler

驗證安裝

跑這三行確認一切正常:

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
  • bundle install 報錯找不到 native extension:缺編譯工具,macOS 跑 xcode-select --install
  • gem 安裝速度慢到爆:網路問題,或考慮換 gem source

搞定 Ruby 以後,接下來就是 安裝 Jekyll 本體 了。


裝 Ruby 花的時間比裝 Jekyll 還長,這 dependency hell 從 Ruby 就開始了