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

Ruby on Rails中如何解决未初始化常量Nokogiri::HTML4的问题

解决Ruby 2.2.1 + Rails 4.2.7.1执行scaffold命令时的loofah/Nokogiri错误

问题描述

使用Ruby 2.2.1和Rails 4.2.7.1创建应用,执行命令rails generate scaffold post title:string body:text时,触发以下错误:

/home/work/.rvm/gems/ruby-2.2.1/gems/loofah-2.21.1/lib/loofah/html4/document.rb:10:in module:HTML4': uninitialized constant Nokogiri::HTML4 (NameError)`

错误原因

loofah 2.21.1版本引入了对Nokogiri::HTML4模块的依赖,但当前环境中与Rails 4.2.7.1兼容的旧版Nokogiri并不包含这个模块,因此触发常量未定义的报错。

解决步骤

  • 打开项目根目录下的Gemfile,添加或修改loofah的版本约束,指定与Rails 4.2.7.1兼容的旧版本:
    gem 'loofah', '~> 2.19.1'
    
  • 执行bundle命令更新依赖:
    bundle update loofah
    
  • 重新运行scaffold生成命令:
    rails generate scaffold post title:string body:text
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 10:12:03