并行安装rbenv与RVM致Ruby版本切换异常,删除rbenv仍未解决求助
我之前也踩过同时装rbenv和RVM的坑,这俩版本管理器很容易互相干扰,你删了rbenv但问题没解决,大概率是残留的配置文件或环境变量在搞事情,按下面的步骤一步步排查应该能搞定:
第一步:清理rbenv的残留文件
主目录里的.rbenv文件夹(你提到的.rb开头隐藏文件应该就是它),还有可能存在的.rbenvrc、.ruby-version、.ruby-gemset这些和rbenv相关的配置文件,全部删掉:rm -rf ~/.rbenv rm -f ~/.rbenvrc ~/.ruby-version ~/.ruby-gemset这些文件会让RVM误以为还有其他版本管理器在运行,从而触发那个烦人的提示。
第二步:清除Shell里的rbenv环境变量
打开你常用的Shell配置文件(比如~/.bashrc、~/.bash_profile或者~/.zshrc,取决于你用的是bash还是zsh),找到所有和rbenv相关的代码,比如:export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)"把这些行全部删掉,然后重启Shell(或者执行
source ~/.zshrc这类命令刷新当前Shell的配置)。第三步:让RVM重新接管系统Ruby
现在残留清理干净了,执行下面的命令让RVM挂载系统Ruby:rvm mount /usr/bin/ruby或者直接用提示里的
automount命令,它会自动检测并挂载系统Ruby:rvm automount执行完后可以用
rvm list查看,确认系统Ruby已经出现在RVM的管理列表里。第四步:验证项目的.rvmrc配置
进入你的项目目录,看看还会不会弹出提示。如果还是有问题,可以重新生成一份标准的.rvmrc文件:rvm --create use <你的Ruby版本>@<gemset名称> --rvmrc举个例子:
rvm --create use 2.7.6@my_rails_project --rvmrc,这样生成的配置文件能确保RVM正确识别并切换到指定的版本和gemset。
如果上面的步骤都试过还是不行,那可以试试最后一招——重新安装RVM:
# 先卸载现有RVM rvm implode # 重新安装稳定版RVM \curl -sSL https://get.rvm.io | bash -s stable
内容的提问来源于stack exchange,提问作者W4rQCC1yGh

