如何将ruby -v命令关联到asdf安装的Ruby版本?
解决方案
原因说明
该问题是asdf的可执行垫片(shims)未被正确加载到Shell环境变量,或者未显式指定要使用的Ruby版本导致的,按以下步骤操作即可修复:
操作步骤
检查并重载asdf的Shell配置
- 首先确认你当前使用的Shell对应配置文件已添加asdf初始化语句:
- Bash用户检查
~/.bashrc、Zsh用户检查~/.zshrc,确认存在以下内容:. "$HOME/.asdf/asdf.sh" - Fish用户检查
~/.config/fish/config.fish,确认存在以下内容:source "$HOME/.asdf/asdf.fish"
- Bash用户检查
- 配置修改完成后执行重载命令生效,也可以直接重启终端:
- Bash:
source ~/.bashrc - Zsh:
source ~/.zshrc - Fish:
source ~/.config/fish/config.fish
- Bash:
- 首先确认你当前使用的Shell对应配置文件已添加asdf初始化语句:
指定要使用的Ruby版本
asdf需要手动绑定使用的版本才会关联对应可执行文件:- 全局所有环境使用Ruby 3.0.2:
asdf global ruby 3.0.2 - 仅当前工作目录使用Ruby 3.0.2:
asdf local ruby 3.0.2
- 全局所有环境使用Ruby 3.0.2:
验证并修复垫片
执行ruby -v如果仍报错,执行命令手动重建Ruby版本的垫片即可:asdf reshim ruby 3.0.2正常执行成功后
ruby -v会输出如下格式的版本信息:ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
内容的提问来源于stack exchange,提问作者michelle
相关产品推荐
相关产品推荐

