Jekyll + Ruby + Nokogiri 安装指南 (macOS M 系列)

Jekyll + Ruby + Nokogiri 安装指南 (macOS M 系列)

本文档指导在 macOS (M1/M2/M3/M4) 上通过 rbenv 安装 Ruby,并在 Ruby 环境中顺利安装 Jekyll 与 Nokogiri。


1. 环境准备

1.1 安装 Homebrew

如果尚未安装 Homebrew:

bash 复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

1.2 安装必要依赖

复制代码
brew install rbenv ruby-build openssl@3 libyaml libffi
brew install node  # 可选:用于 Jekyll 扩展功能
brew install git

2. 配置 rbenv

2.1 初始化 rbenv

~/.zshrc~/.bash_profile 中添加:

复制代码
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

然后重新加载 shell:

复制代码
source ~/.zshrc

2.2 验证 rbenv

复制代码
rbenv -v
ruby-build -v

3. 安装 Ruby

Apple Silicon 推荐安装最新的 Ruby 3.x。

复制代码
# 安装 Ruby 3.3.2
RUBY_CFLAGS="-O2 -march=arm64" rbenv install 3.3.2

# 设置全局 Ruby
rbenv global 3.3.2

# 验证 Ruby
ruby -v

⚠️ 如果下载/编译慢,可以使用镜像:

复制代码
RUBY_BUILD_MIRROR_URL=https://cache.ruby-lang.org/ ruby-build 3.3.2 ~/.rbenv/versions/3.3.2

4. 安装 Bundler

复制代码
gem install bundler
rbenv rehash

5. 安装 Jekyll 与依赖

5.1 安装 Jekyll

复制代码
gem install jekyll
rbenv rehash
jekyll -v

5.2 安装 Nokogiri (解决 M 系列架构问题)

复制代码
gem install nokogiri -- --use-system-libraries \
  --with-xml2-config=$(brew --prefix libxml2)/bin/xml2-config \
  --with-xslt-config=$(brew --prefix libxslt)/bin/xslt-config
rbenv rehash

6. 创建和启动 Jekyll 项目

复制代码
jekyll new my_blog
cd my_blog
bundle install
bundle exec jekyll serve --livereload

访问 http://localhost:4000 查看效果。


7. 常见问题与解决方案

问题 解决方案
LoadError: nokogiri/nokogiri 删除旧 gem: sudo gem uninstall nokogiri,然后用上文方式安装。
编译慢 / 卡住 RUBY_CFLAGS="-O2 -march=arm64" 并确保 Homebrew 的 openssl@3 已安装。
权限问题 (Gem::FilePermissionError) 不要用系统 Ruby,必须用 rbenv 安装的 Ruby。

8. 验证环境

复制代码
ruby -v          # 3.3.2
gem list         # bundler, nokogiri, jekyll
jekyll -v        # Jekyll 版本

9. 附加

如果是 M4 架构(属于 Apple Silicon 系列)

在 Apple Silicon(M1/M2/M4)上,系统自带 Ruby 往往是 x86_64 架构,而 nokogiri 需要编译 C 扩展,导致架构不匹配。直接用 sudo gem install 是行不通的。

最稳妥方案:安装一个原生 arm64 Ruby,再在它上面安装 Jekyll 与 Nokogiri。

步骤如下(用 rbenv 举例):

复制代码
# 1. 安装 rbenv 和 ruby-build
brew install rbenv ruby-build

# 2. 初始化 rbenv(加到 shell 配置里)
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
source ~/.zshrc

# 3. 安装最新稳定版 Ruby(arm64 原生)
rbenv install 3.3.2
rbenv global 3.3.2

# 4. 更新 gem
gem update --system

# 5. 安装 Nokogiri(使用系统库加 Homebrew 提供的 libxml2)
brew install libxml2 libxslt
gem install nokogiri -- --use-system-libraries \
    --with-xml2-include=$(brew --prefix libxml2)/include/libxml2 \
    --with-xml2-lib=$(brew --prefix libxml2)/lib \
    --with-xslt-include=$(brew --prefix libxslt)/include \
    --with-xslt-lib=$(brew --prefix libxslt)/lib

# 6. 安装 Jekyll
gem install jekyll bundler

这样就能在 M4 Mac 上顺利运行 jekyll serve,不会再遇到 x86_64 与 arm64 的冲突。

相关推荐
为什么不问问神奇的海螺呢丶1 天前
n9e categraf rabbitmq监控配置
分布式·rabbitmq·ruby
「QT(C++)开发工程师」1 天前
C++ 策略模式
开发语言·c++·策略模式
皮卡车厘子1 天前
Mac 挂载目录
macos
良逍Ai出海1 天前
在 Windows & macOS 上安装 Claude Code,并使用第三方 Key 的完整教程
windows·macos
热爱生活的五柒1 天前
linux/mac/wsl如何使用claude code,并配置免费的硅基流动API?(官方的需要付费订阅)
linux·运维·macos
佑白雪乐1 天前
<Linux基础12集>1-11集大复习Review
linux·运维·策略模式
胖胖大王叫我来巡山1 天前
mac本地安装DataEase桌面版
macos
奋斗者1号1 天前
OpenClaw 部署方式对比:云端、WSL、Mac 本机、Ubuntu 虚拟机(2026年2月最新主流实践)
linux·ubuntu·macos
玉梅小洋1 天前
Android SDK 安装指南(MacOS 和 Windows)
android·windows·macos·sdk
2501_916007471 天前
没有 Mac 用户如何上架 App Store,IPA生成、证书与描述文件管理、跨平台上传
android·macos·ios·小程序·uni-app·iphone·webview