M1芯片MacOS Ruby环境异常:gem安装到系统目录报错如何修复?
MacOS Ruby环境异常修复方案
1. 修正gem环境变量配置
首先执行gem env查看默认gem安装路径,若输出包含/Library/Ruby/Gems/2.6.0,说明gem未绑定brew安装的Ruby版本。
在对应的shell配置文件(使用zsh则修改~/.zshrc,使用bash则修改~/.bash_profile)末尾添加以下配置:
export GEM_HOME="$(ruby -e 'puts Gem.user_dir')" export PATH="$GEM_HOME/bin:$PATH"
添加完成后执行source ~/.zshrc(对应你的shell类型)让配置立即生效。
2. 清理系统级残留的rails命令
执行which rails查看当前rails命令路径,若输出为/usr/local/bin/rails或/Library/Ruby/Gems/2.6.0下的路径,说明是之前sudo安装的系统级残留,执行以下命令删除:
sudo rm -rf /usr/local/bin/rails sudo rm -rf /Library/Ruby/Gems/2.6.0/gems/railties-*
注意:此处仅清理系统目录残留使用sudo,后续所有gem安装操作禁止加sudo
3. 重新安装rails
执行gem install rails,不要添加sudo,安装完成后依次执行以下命令验证配置:
rails -v:确认输出的rails版本为最新安装版which rails:确认路径属于/opt/homebrew/opt/ruby目录或用户gem目录gem env home:确认输出路径不包含/Library/Ruby/Gems/2.6.0
4. 重新创建rails项目
删除之前创建失败的项目目录,重新执行rails new appname即可正常运行。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

