在本地使用和 GitHub Pages 接近的 Ruby 环境构建、预览本站,避免系统 Ruby 版本过旧导致构建结果不可复现。
rbenv 和 ruby-build。/Users/nathanlvzs/projects/workspace/nathanlvzs.github.io。brew install rbenv ruby-build
rbenv install 3.3.4
进入项目目录并固定项目 Ruby 版本:
cd /Users/nathanlvzs/projects/workspace/nathanlvzs.github.io
rbenv local 3.3.4
如果 ruby -v 仍显示系统 Ruby,说明 shell 没加载 rbenv shims。将下面一行加入 ~/.zshrc:
eval "$(rbenv init - zsh)"
重开终端后检查:
cd /Users/nathanlvzs/projects/workspace/nathanlvzs.github.io
command -v ruby
ruby -v
rbenv version
期望结果:
/Users/nathanlvzs/.rbenv/shims/ruby
ruby 3.3.4 ...
3.3.4 (set by .../.ruby-version)
gem install bundler
bundle install
如果 bundle install 或构建提示 github-pages 依赖冲突,先更新 GitHub Pages 依赖组:
bundle update github-pages
bundle install
bundle exec jekyll build
构建成功后会生成 _site/。该目录是构建产物,不需要提交。
bundle exec jekyll serve
浏览器访问:
http://127.0.0.1:4000/
停止服务时在终端按 Ctrl-C。
ruby -v 仍显示系统 Ruby原因是 shell 没加载 rbenv。确认 ~/.zshrc 中存在:
eval "$(rbenv init - zsh)"
然后重开终端,不要只在旧终端里重复运行 rbenv local。
bundler: command not found: jekyll原因是当前 Ruby 环境中还没有安装项目依赖。进入项目目录后执行:
bundle install
bundle exec jekyll build
ERROR '/favicon.ico' not found这是浏览器默认请求根目录 favicon 的提示。站点布局已显式声明 /media/images/puppy.jpg 作为 favicon;如果仍出现,先强制刷新页面或清理浏览器缓存。