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 的冲突。

相关推荐
张小姐的猫18 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
寒水馨19 小时前
macOS下载、安装openclaw-v2026.7.1(附安装包OpenClaw-2026.7.1.dmg)
macos·大模型·github·开源软件·ai助手·openclaw·gpt-5.6
白玉cfc1 天前
【iOS】MRC和ARC
macos·ios·cocoa
飞雪金灵1 天前
mac电脑 Maven下载安装和配置环境变量
macos·maven·maven下载安装·mac电脑环境
雨声不在1 天前
macos 12使用docker
macos·docker·容器
霸道流氓气质1 天前
Kiro 中配置 RabbitMQ MCP Server 指南
分布式·rabbitmq·ruby
一叶龙洲1 天前
ubuntu26.04 xfce美化成mac
服务器·ubuntu·macos
李小白杂货铺1 天前
Oh My Zsh 简记
macos·macbook·zsh·主题·插件·oh my zsh·omz
fukai77222 天前
macOS防止休眠的菜单栏小工具
macos
web守墓人2 天前
【go语言】gotar:使用go语言复刻tar命令,并加入7z支持,可独立运行在windows、linux、macos上
linux·macos·golang