打开终端时如何自动适配对应项目的Ruby版本
解决步骤
第一步:确认RVM项目版本检测功能未被禁用
检查~/.rvmrc或者/etc/rvmrc配置文件,确认不存在rvm_project_rvmrc=0配置项。如果存在,删除该行或者将值改为1,保存后重启终端。
你提供的RVM cd脚本默认已经开启了目录切换时的版本检测逻辑,只要该开关未被禁用,基础功能就是正常的。
第二步:校验.ruby-version文件有效性
进入你的旧项目根目录,确认.ruby-version文件内容仅包含纯版本号2.6.6,无多余空格、换行、注释等其他内容,同时文件权限为当前用户可读(默认权限即可)。
可以执行以下命令快速校验内容:
cat .ruby-version
第三步:手动验证生效状态
执行以下命令重载RVM配置,验证版本自动切换是否正常:
cd 你的项目根目录 rvm reload ruby -v
如果输出显示为ruby 2.6.6,说明配置已经生效,后续无论是cd进入该目录,还是直接在该目录路径下打开终端窗口,都会自动切换到对应Ruby版本。
备用方案:使用.rvmrc文件实现强制切换
如果.ruby-version始终不生效,可以在项目根目录新建.rvmrc文件,写入以下内容:
rvm use 2.6.6
保存后首次cd进入该目录时,RVM会提示是否信任该配置文件,输入yes确认后,后续就会自动切换版本。
额外检查项
如果直接在项目目录打开终端仍不生效,检查你所用shell的配置文件(bash对应~/.bashrc,zsh对应~/.zshrc)末尾是否存在RVM初始化脚本:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
如果不存在则添加该行,保存后重启终端即可。
内容的提问来源于stack exchange,提问作者kouroubel
相关产品推荐
相关产品推荐

