Ubuntu环境下安装rake gem失败导致Jekyll无法运行的问题求助
Ubuntu环境下安装rake gem失败导致Jekyll无法运行的问题求助
兄弟我太懂你这种从零开始碰Jekyll踩坑的崩溃了!我之前在Ubuntu上搭个人博客的时候,也遇到过类似的gem安装卡壳问题,给你几个亲测有效的解决方案,一步步试下来应该能搞定rake安装失败的问题:
方案1:先补全系统级依赖(最常见的原因)
很多时候gem安装失败根本不是Ruby或者Bundler的问题,是缺了系统编译需要的基础库。先跑这行命令把依赖补全:
sudo apt update && sudo apt install build-essential libssl-dev libreadline-dev zlib1g-dev
装完之后再重新执行bundle install试试,大概率能解决rake的安装问题。
方案2:清理Bundler缓存,排除缓存损坏问题
有时候Bundler的本地缓存文件损坏,会导致安装过程中出现莫名其妙的错误。先强制清理缓存:
bundle clean --force
清理完成后再重新运行bundle install,让Bundler重新下载所有依赖包。
方案3:手动指定兼容的rake版本
当前依赖链要求的rake 13.2.1可能和你系统的Ruby 3.0.2存在小版本兼容性问题。你可以尝试在项目的Gemfile里手动添加一行指定版本的代码:
gem 'rake', '~> 13.0.6'
保存后执行bundle update rake,让Bundler更新rake的版本到兼容的范围,然后再跑bundle install。
方案4:用Ruby版本管理器隔离环境(长期推荐)
Ubuntu自带的系统Ruby经常会和各种gem出现兼容性问题,用rbenv或者rvm这类版本管理器可以帮你创建独立的Ruby环境,彻底避免系统级的冲突。以rbenv为例:
- 先安装rbenv:
sudo apt install rbenv
- 把rbenv加入shell启动配置(如果你用的是zsh就把
.bashrc改成.zshrc):
echo 'eval "$(rbenv init - bash)"' >> ~/.bashrc
- 重启终端,安装一个和Jekyll 4.3.3兼容性更好的Ruby版本(比如3.1.4):
rbenv install 3.1.4
- 在你的项目目录下切换到这个Ruby版本:
rbenv local 3.1.4
- 重新安装Bundler:
gem install bundler
- 最后再执行
bundle install,这时候所有依赖应该都能正常安装了。
另外提醒你一句:尽量退出当前的conda base环境再操作(跑conda deactivate),conda的环境变量可能会和Ruby的环境产生冲突,干扰gem的安装过程。
备注:内容来源于stack exchange,提问作者imantha
相关产品推荐
相关产品推荐

