【问题标题】:Ruby require problemRuby 需要问题
【发布时间】:2010-12-13 05:18:51
【问题描述】:

我正在尝试启动并运行 sanitize gem。我已经根据需要安装了 sanitize 和 nokogiri 1.3.3,但是当我尝试在我的 application_helper.rb 中使用它时:

require 'rubygems'
require 'sanitize'

我得到错误:

MissingSourceFile 
no such file to load -- sanitize
RAILS_ROOT: C:/Ruby/GWS

(stack trace)

This error occurred while loading the following files:
   sanitize

如果我需要 nokogiri,我也会收到错误消息,但如果我需要其他 gem,例如 rmagick,我不会。

我尝试卸载并重新安装 nokogiri 和 santitize,但没有成功。

更新: 如果我从 irb 运行 require 命令,我会收到关于找不到 racc 的错误。如果我尝试安装 racc,我会在 error while installing ruby gem 处收到错误消息

【问题讨论】:

  • 您是否按照该问题的答案中的建议进行操作?
  • 是的。并得到了完全相同的错误(来自他放弃的 cmets 的注释)。

标签: ruby gem require


【解决方案1】:

这是我修复它的方法。

将以下内容添加到 config/environment.rb

Rails::Initializer.run do |config|
  config.gem 'nokogiri', :version => '~> 1.3.3', :source => 'http://gems.github.com'
end

gem 'nokogiri', '~> 1.3.3'

require 'nokogiri'

Rails::Initializer.run do |config|
  config.gem 'sanitize', :version => '~> 1.1.0', :source => 'http://gems.github.com'
end

gem 'sanitize', '~> 1.1.0'

require 'sanitize'

然后运行

rake gems:install

(我还必须卸载并重新安装 gem,但这可能是由于我在原始问题出现后添加的其中一个 gem 源存在问题)。

【讨论】:

    【解决方案2】:

    您是否尝试使用该问题中给出的答案安装 racc?也有 cmets 关于进一步的错误。

    如果这不起作用,您可以随时尝试 vendoring sanitize,看看是否有效。在你的命令行中:

    cd C:/myapp/vendor
    gem unpack sanitize
    

    然后在您的应用程序中:

    require 'vendor/sanitize/lib/sanitize'
    

    当然可以根据不同的目录命名/结构调整以上内容。

    【讨论】:

    • 尝试了另一个答案并得到了完全相同的问题。尝试了供应商的想法,但没有任何区别。
    猜你喜欢
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2016-09-29
    相关资源
    最近更新 更多