Ruby 2.4.5环境下安装Rails 5.1.5遇报错求助
解决Ruby 2.4.5 + Rails 5.1.5在M1 Pro上的安装问题
问题1:安装Rails 5.1.5时racc版本不兼容
最新版racc要求Ruby >=2.5,与Ruby2.4.5不兼容,需先安装适配版本:
- 安装兼容的racc:
gem install racc -v 1.4.16 - 再安装Rails 5.1.5:
gem install rails -v 5.1.5
若用Bundler,直接在Gemfile中指定版本:
gem 'racc', '1.4.16'
问题2:nokogiri 1.8.2原生扩展编译失败(LZMA_OK未声明)
M1 Pro的arm64架构对旧版Ruby/nokogiri支持有限,按以下步骤解决:
使用Rosetta 2终端操作
复制系统终端并重命名为「终端(Rosetta)」,右键勾选「使用Rosetta打开」,后续所有rbenv、gem、bundle命令都在此终端执行。重装Ruby 2.4.5(确保x86_64架构)
若之前在arm64环境安装过Ruby,先卸载:rbenv uninstall 2.4.5在Rosetta终端重新安装:
rbenv install 2.4.5验证架构(输出应为
x86_64-darwinXX):ruby -e 'puts RUBY_PLATFORM'安装依赖库
通过Homebrew安装libxml2和xz(LZMA依赖):brew install libxml2 xz指定依赖路径安装nokogiri
单独安装:gem install nokogiri -v 1.8.2 -- --use-system-libraries \ --with-xml2-include=$(brew --prefix libxml2)/include/libxml2 \ --with-xz-include=$(brew --prefix xz)/include \ --with-xz-lib=$(brew --prefix xz)/lib用Bundler安装:
先配置编译参数:bundle config build.nokogiri --use-system-libraries \ --with-xml2-include=$(brew --prefix libxml2)/include/libxml2 \ --with-xz-include=$(brew --prefix xz)/include \ --with-xz-lib=$(brew --prefix xz)/lib再执行安装:
bundle install
内容的提问来源于stack exchange,提问作者dvveb
相关产品推荐
相关产品推荐

