MacOS(M1 Arm64)执行rails new无法加载Nokogiri 误用系统默认Ruby问题
问题根源
当前执行的rails命令安装在Mac系统自带的Ruby 2.6版本(x86架构)环境下,并未关联你用Rbenv管理的arm架构Ruby 3.0.0,执行rails new时调用了系统Ruby路径下的依赖库,出现架构不兼容报错。
解决步骤
- 卸载系统Ruby环境下的Rails相关包
执行以下命令删除系统路径下安装的Rails,输入用户密码时终端不显示字符为正常现象:sudo gem uninstall rails sudo gem uninstall railties - 重新在Rbenv管理的Ruby环境下安装Rails
先确认Rbenv配置已生效,切换到目标Ruby版本后执行安装,安装完成后刷新Rbenv的二进制映射:rbenv local 3.0.0 gem install rails -v 6.1.4.1 rbenv rehash - 验证Rails路径正确性
执行which rails检查输出,正常结果应为/Users/你的用户名/.rbenv/shims/rails,而非之前的/usr/local/bin/rails,确认路径正确后再次执行rails new testapp即可正常完成项目创建。 - 可选适配方案:如果后续仍出现Nokogiri架构不兼容问题,可手动编译适配arm架构的版本:
gem uninstall nokogiri gem install nokogiri --platform=ruby
内容的提问来源于stack exchange,提问作者ethanmclark
相关产品推荐
相关产品推荐

