安装GitHub Pages的Jekyll时遇google/protobuf_c加载错误求助
解决Jekyll执行时
google/protobuf_c加载错误的方案 核心问题定位
该错误源于Ruby的protobuf gem依赖的原生扩展编译或加载异常,本质是系统环境中的protobuf库版本与Jekyll依赖不兼容。
分步解决步骤
1. 彻底清理现有protobuf相关依赖
先卸载所有版本的protobuf gem,同时清理系统级protobuf库:
# 卸载Ruby环境下的所有protobuf gem gem uninstall protobuf --all # 用Homebrew卸载系统级protobuf brew uninstall protobuf # 清理残留文件 brew cleanup protobuf
2. 安装兼容版本的系统级protobuf
针对Ruby 3.1.x/3.2.x与Jekyll 4.3.1的组合,推荐安装protobuf 3.21.x系列:
# 安装指定版本的系统级protobuf brew install protobuf@3.21 # 配置系统优先使用该版本(以zsh为例,bash替换为~/.bashrc) echo 'export PATH="/usr/local/opt/protobuf@3.21/bin:$PATH"' >> ~/.zshrc source ~/.zshrc # 验证版本是否生效 protoc --version
3. 重新安装Jekyll及依赖
确保chruby加载目标Ruby版本后,强制重新编译原生扩展安装Jekyll:
# 切换到你的目标Ruby版本(比如3.1.2) chruby 3.1.2 # 强制重新安装Jekyll,指定平台为ruby以触发原生扩展编译 gem install jekyll --version 4.3.1 --force --platform=ruby
4. 验证修复效果
执行基础命令测试:
jekyll -v
若命令正常返回版本号,说明问题已解决。
备选方案(上述步骤无效时)
如果仍报错,直接指定安装兼容的protobuf gem版本:
# 卸载所有protobuf后,安装指定版本 gem install protobuf -v 3.21.12 # 重新安装Jekyll gem install jekyll --version 4.3.1
内容的提问来源于stack exchange,提问作者Penguin
相关产品推荐
相关产品推荐

