rbenv无法识别指定Ruby版本,bundle install报版本不匹配如何解决
问题原因
你遇到的核心问题是rbenv的shell初始化配置未生效,终端调用的依旧是系统预装的Ruby 2.6.8版本,而非rbenv管理的2.5.5版本。同时2.6.8属于系统自带版本,不由rbenv管理,所以执行rbenv uninstall 2.6.8会提示版本不存在。
解决步骤
- 首先确认当前Ruby调用来源,执行命令:
which ruby
如果输出为/usr/bin/ruby,即可确认调用的是系统Ruby。
- 把rbenv初始化配置添加到对应shell的配置文件中:
如果你用的是zsh(MacOS默认shell),执行:
如果你用的是bash,执行:echo 'eval "$(rbenv init -)"' >> ~/.zshrcecho 'eval "$(rbenv init -)"' >> ~/.bash_profile - 重载配置文件让配置立即生效(不需要重启电脑):
zsh执行:source ~/.zshrc
bash执行:source ~/.bash_profile - 验证rbenv是否生效,执行:
正常会输出rbenv version2.5.5 (set by 你项目目录/.ruby-version) - 再次验证Ruby版本:
确认输出为ruby -vruby 2.5.5pxxx即可。 - 重新执行
bundle install即可正常安装依赖。
可选校验操作
如果执行上述步骤后依旧报错,可以检查项目根目录下是否存在.ruby-version文件,文件内容应为2.5.5,如果不存在可以手动创建,该配置优先级高于全局配置。
内容的提问来源于stack exchange,提问作者mrateb
相关产品推荐
相关产品推荐

