切换Ruby版本后Rails项目提示Ruby未安装,安装时却提示已安装如何解决?
问题原因
- 你使用asdf作为Ruby版本管理器时,当前Rails项目根目录缺少对应版本配置文件
.tool-versions,asdf无法识别项目需要的Ruby 2.6.3版本,默认调用全局设置的3.0.2,和项目依赖的版本要求冲突,所以触发安装提示 - asdf的Ruby可执行文件映射缓存(shim)未更新,即使已经安装2.6.3版本也无法被正常识别调用
- 已安装的Ruby 2.6.3存在文件损坏,或安装时未正确关联asdf的环境路径
解决步骤
- 进入对应Rails项目的根目录,执行命令指定当前项目使用的Ruby版本:
asdf local ruby 2.6.3
执行后会自动在项目根目录生成.tool-versions配置文件,asdf进入该目录时会自动切换到指定的2.6.3版本 - 验证当前目录的Ruby版本是否生效:
ruby -v
输出包含ruby 2.6.3即代表版本切换成功 - 若版本验证正常但启动服务仍报错,执行命令更新asdf的shim缓存:
asdf reshim ruby - 重新安装项目依赖避免版本兼容问题:
bundle install - 启动Rails服务即可正常运行:
rails s
如果上述操作完成后仍有报错,可先卸载重装Ruby 2.6.3后重复上述步骤:asdf uninstall ruby 2.6.3asdf install ruby 2.6.3
内容的提问来源于stack exchange,提问作者CJG
相关产品推荐
相关产品推荐

