进入Rails项目目录后RVM管理的Ruby版本异常变化求助
RVM进入项目目录自动切换到非预期Ruby版本原因分析及排查步骤
核心触发逻辑
RVM自动切换Ruby版本的配置优先级从高到低为:.rvmrc > .ruby-version > Gemfile 中的ruby声明,你遇到的进入项目目录后版本回退到2.6.3的问题,均和优先级更高的配置覆盖了Gemfile声明有关,可按以下步骤排查:
- 第一步:进入项目目录后执行
cat .ruby-version,检查该文件是否存在且内容为2.6.3。这是最常见的触发原因,若存在该文件,可直接删除文件,或将文件内容修改为3.0.0即可修复。 - 第二步:检查项目目录下是否存在
.rvmrc文件,该文件是RVM早期的自定义配置文件,优先级最高,若文件内指定了使用2.6.3版本的Ruby,也会触发自动切换,可根据自身需求修改配置或删除该文件。 - 第三步:确认RVM是否开启了Gemfile Ruby版本读取支持,执行命令
rvm gemfile查看状态,若返回关闭状态,可执行rvm gemfile on开启该功能,开启后RVM就能正常识别Gemfile中的ruby声明。 - 第四步:检查本地RVM版本是否过旧,执行
rvm -v查看版本,过旧版本对Gemfile内Ruby版本声明的支持存在缺陷,可执行rvm get stable升级到稳定版后重试。
验证方式
排查调整完成后,执行cd .. && cd -回到项目目录,再执行ruby -v确认版本是否已切换为3.0.0即可。
内容的提问来源于stack exchange,提问作者ed_is_my_name
相关产品推荐
相关产品推荐

