Jekyll与jekyll-multiple-languages-plugin版本冲突问题求助
Hey there, let's fix this version conflict issue you're facing. The core problem is crystal clear from your error message:
Unable to activate jekyll-multiple-languages-plugin-1.6.0, because jekyll-4.0.0 conflicts with jekyll (< 4.0, >= 2.0)
Your installed jekyll-multiple-languages-plugin 1.6.0 only supports Jekyll versions between 2.0 and 3.x, but you're running Jekyll 4.0.0—they simply don't play nice together. Here are three actionable ways to resolve this:
1. 降级Jekyll到3.x版本(快速修复)
Since you already have Jekyll 3.8.6 installed (per your gem list), you can switch to this compatible version easily:
- 先卸载冲突的Jekyll 4.0.0:
gem uninstall jekyll -v 4.0.0 - 将3.8.6设为默认版本(如果需要):
gem install jekyll -v 3.8.6 - 现在正常启动Jekyll服务即可:
jekyll serve
如果你用Bundler管理依赖,记得更新Gemfile锁定版本:
gem "jekyll", "~> 3.8.6" gem "jekyll-multiple-languages-plugin", "~> 1.6.0"
然后执行bundle install,之后用bundle exec jekyll serve启动服务,确保依赖版本一致。
2. 更新插件到支持Jekyll 4.x的版本
检查jekyll-multiple-languages-plugin是否有更新版本适配Jekyll 4.0.0:
- 更新插件:
gem update jekyll-multiple-languages-plugin - 验证更新后的版本要求:
gem specification jekyll-multiple-languages-plugin | grep "jekyll"
如果更新后的插件已经支持Jekyll 4.x,重启服务就能正常运行了。
3. 切换到支持Jekyll 4.x的多语言替代插件
如果原插件没有适配Jekyll 4.x的版本,推荐使用jekyll-polyglot——这是一款对Jekyll 4.x支持完善的热门多语言插件:
- 安装插件:
gem install jekyll-polyglot - 将
_config.yml中原插件的配置替换为jekyll-polyglot的设置(官方配置文档非常直观)。
尝试任一方案后,再运行jekyll build --trace确认冲突已解决即可。
内容的提问来源于stack exchange,提问作者Vision 10

