You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac M1环境下Rails无法识别rbenv指定的Ruby 3.1.2版本

M1 Mac下rbenv安装Ruby 3.1.2后Rails仍识别系统旧版本Ruby的问题

问题现象

  • 执行rbenv version和ruby -v均显示当前Ruby版本为3.1.2
  • 执行rails s、rails new app时,提示使用Ruby 2.6.8,与Gemfile指定的3.1.2不符,且大量Gem扩展未构建
  • 项目外执行rails,提示Rails7要求Ruby2.7.0+,当前版本为2.6.8
  • which rails显示路径为/usr/local/bin/rails
  • 已尝试sudo gem pristine --all、重装Rails、rbenv rehash、bundle install,问题未解决

解决步骤

1. 检查并修复rbenv环境变量配置

打开你的Shell配置文件(~/.zshrc或~/.bash_profile),确认以下配置存在且位于其他PATH配置之前:

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init - zsh)" # Bash用户替换为eval "$(rbenv init - bash)"

保存后执行source ~/.zshrc(或对应配置文件)刷新环境变量。

2. 卸载系统全局的Rails

/usr/local/bin/rails属于系统级旧Ruby环境的Rails,需彻底移除:

sudo gem uninstall rails -a -x

参数说明:-a卸载所有Rails版本,-x删除关联的可执行文件。

3. 在rbenv管理的Ruby环境下重装Rails

确认当前Ruby版本为3.1.2(rbenv version验证),执行:

gem install rails

安装完成后执行rbenv rehash更新rbenv的可执行文件映射。

4. 验证修复结果

执行which rails,应输出~/.rbenv/shims/rails;执行rails -v,应显示与Ruby 3.1.2兼容的Rails版本。

5. 项目内重新配置依赖

进入项目目录,若没有.ruby-version文件,执行rbenv local 3.1.2创建,然后重新安装依赖:

bundle install

内容的提问来源于stack exchange,提问作者Vicente Espinosa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 21:20:44