You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让rbenv优先使用本地版本而非系统默认Ruby二进制文件?

解决rbenv本地版本设置后仍调用系统Ruby的问题

问题原因

rbenv通过shims代理机制实现版本切换,但你的系统PATH中未将rbenv的shims目录放在最前面,导致系统默认的Ruby/Gem路径(/usr/bin)优先被识别。

修复步骤

  1. 检查当前PATH配置
    执行以下命令查看PATH内容:
echo $PATH

确认输出中是否包含/Users/adikshit/.rbenv/shims,且该路径位于/usr/bin之前。如果没有或位置靠后,需要调整配置。

  1. 配置Shell启动文件
    根据你使用的Shell类型,编辑对应的启动文件:
  • Zsh(macOS默认Shell):编辑~/.zshrc,添加以下内容:
    eval "$(rbenv init - zsh)"
    
  • Bash:编辑~/.bash_profile或~/.bashrc,添加以下内容:
    eval "$(rbenv init - bash)"
    
  1. 加载更新后的配置
    执行对应命令重新加载配置,无需重启终端:
  • Zsh:
    source ~/.zshrc
    
  • Bash:
    source ~/.bash_profile
    
  1. 验证修复效果
    再次执行以下命令,确认路径已切换到rbenv的shims:
whence ruby
whence gem

输出应指向/Users/adikshit/.rbenv/shims/ruby和/Users/adikshit/.rbenv/shims/gem,同时执行ruby -v会显示3.1.6版本。

补充说明

rbenv的shims目录下是代理脚本,当你调用Ruby相关命令时,这些脚本会根据当前目录的.ruby-version(即rbenv local设置的版本)自动路由到对应版本的真实执行文件。确保shims目录在PATH最优先级,是rbenv正常工作的核心前提。

内容的提问来源于stack exchange,提问作者Ayusman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 12:42:40