Ruby需要问题

时间:2009-11-04 22:21:01

标签: ruby gem require

我正在努力让消毒宝石得以运行。我根据需要安装了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,我也会收到错误,但如果我需要另一个宝石,例如rmagick,我也不会。

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

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

收到错误消息

2 个答案:

答案 0 :(得分: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

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

答案 1 :(得分:0)

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

如果这不起作用,您可以随时尝试销售清洁,看看它是否正常工作。在命令行中:

cd C:/myapp/vendor
gem unpack sanitize

然后在你的申请中:

require 'vendor/sanitize/lib/sanitize'

当然,针对不同的目录命名/结构调整上述内容。