Ubuntu20.04安装Ruby3.1.0后ruby -v仍显示2.7.0如何解决
rbenv安装Ruby 3.1.0后版本不切换解决方法
核心原因
你当前rbenv默认选中的是系统自带的Ruby 2.7.0版本(即输出里带*的system项),没有将3.1.0设置为默认版本,大概率还存在rbenv未正确加载到shell环境变量的问题。
操作步骤
设置全局默认Ruby版本为3.1.0
执行以下命令:rbenv global 3.1.0 rbenv rehashrbenv rehash的作用是刷新rbenv的命令垫片,保证所有ruby相关命令都能映射到选中的版本。检查并配置rbenv的shell环境加载
Ubuntu 20.04默认使用bash shell,编辑用户目录下的bash配置文件:nano ~/.bashrc拉到文件最末尾,确认存在以下两行配置,没有的话手动补上:
export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)"按
Ctrl+O保存,按回车确认文件名,再按Ctrl+X退出编辑器。
执行以下命令让配置立即生效:source ~/.bashrc如果你自行更换了zsh等其他shell,就把上面操作里的
.bashrc替换为对应shell的配置文件,比如zsh对应~/.zshrc。验证效果
先执行rbenv versions,正常输出应该如下,*号会标记在3.1.0前:system * 3.1.0 (set by /home/peisen/.rbenv/version)再执行
ruby -v,就会显示3.1.0的版本信息。
补充说明
- 如果你不需要全局切换Ruby版本,只想给某个单独项目指定3.1.0版本,只需要进入对应项目目录,执行
rbenv local 3.1.0即可,该目录下会自动生成.ruby-version文件,后续进入该目录会自动切换到对应版本。 - 如果操作完仍然显示系统版本,执行
which ruby检查路径,正常输出应该是/home/peisen/.rbenv/shims/ruby,如果输出/usr/bin/ruby开头的系统路径,回到上一步检查shell配置文件里的rbenv配置是否写对、有没有执行source加载配置。
内容的提问来源于stack exchange,提问作者wps
相关产品推荐
相关产品推荐

