MacOS运行rails new创建Rails项目出现nokogiri加载错误无法解决
Rails新建项目nokogiri加载错误解决方案
报错根因:
- 使用macOS自带的系统Ruby,默认存在权限限制,原生gem编译时容易出现依赖路径不匹配问题
- 手动指定的nokogiri 1.6.x版本过低,和Rails 6.1.4.1的依赖要求不兼容
修复步骤
- 清理冲突版本
退出当前项目目录,执行gem uninstall nokogiri --all,确认卸载所有已安装的nokogiri版本,删除之前创建的异常railsapp目录 - 切换非系统Ruby版本
执行rbenv install 2.7.4安装兼容Rails 6.1的Ruby版本,执行rbenv global 2.7.4切换全局Ruby版本,执行ruby -v确认输出不含universal.x86_64-darwin20标识,确认切换成功 - 重新创建项目
执行rails new railsapp即可正常完成初始化 - 若仍出现nokogiri报错,进入项目目录执行以下命令强制编译适配当前系统的版本:
gem install nokogiri -- --with-cflags="-Wno-error=implicit-function-declaration"
完成后执行bundle install即可解决问题
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

