Ruby on rails 没有要加载的文件--清理(LoadError)
在Ubuntu中使用ruby、rails和gems 我安装了sanitize gem 2.0.3版 当从代码中要求它时,出现了一个错误: `require':没有要加载的文件-sanitize LoadError 我知道安装了gem: gem列表| grep消毒 返回 消毒2.0.3Ruby on rails 没有要加载的文件--清理(LoadError),ruby-on-rails,ruby,linux,gem,sanitize,Ruby On Rails,Ruby,Linux,Gem,Sanitize,在Ubuntu中使用ruby、rails和gems 我安装了sanitize gem 2.0.3版 当从代码中要求它时,出现了一个错误: `require':没有要加载的文件-sanitize LoadError 我知道安装了gem: gem列表| grep消毒 返回 消毒2.0.3 which gem 返回 /usr/bin/gem /usr/bin/ruby lrwxrwxrwx 1 root root 15 2011-12-06 18:37 /usr/bin/gem -> /
which gem
返回
/usr/bin/gem
/usr/bin/ruby
lrwxrwxrwx 1 root root 15 2011-12-06 18:37 /usr/bin/gem -> /usr/bin/gem1.8
-rwxr-xr-x 1 root root 545 2011-09-16 16:19 /usr/bin/gem1.8
lrwxrwxrwx 1 root root 16 2011-12-06 18:38 /usr/bin/ruby -> /usr/bin/ruby1.8
-rwxr-xr-x 1 root root 6264 2010-03-19 17:52 /usr/bin/ruby1.8
RubyGems Environment:
- RUBYGEMS VERSION: 1.6.2
- RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /usr/lib/ruby/gems/1.8
- /root/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
及
返回
/usr/bin/gem
/usr/bin/ruby
lrwxrwxrwx 1 root root 15 2011-12-06 18:37 /usr/bin/gem -> /usr/bin/gem1.8
-rwxr-xr-x 1 root root 545 2011-09-16 16:19 /usr/bin/gem1.8
lrwxrwxrwx 1 root root 16 2011-12-06 18:38 /usr/bin/ruby -> /usr/bin/ruby1.8
-rwxr-xr-x 1 root root 6264 2010-03-19 17:52 /usr/bin/ruby1.8
RubyGems Environment:
- RUBYGEMS VERSION: 1.6.2
- RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /usr/lib/ruby/gems/1.8
- /root/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
所以要检查安装了哪个gem
ls -l /usr/bin/gem*
ls -l /usr/bin/ruby*
返回
/usr/bin/gem
/usr/bin/ruby
lrwxrwxrwx 1 root root 15 2011-12-06 18:37 /usr/bin/gem -> /usr/bin/gem1.8
-rwxr-xr-x 1 root root 545 2011-09-16 16:19 /usr/bin/gem1.8
lrwxrwxrwx 1 root root 16 2011-12-06 18:38 /usr/bin/ruby -> /usr/bin/ruby1.8
-rwxr-xr-x 1 root root 6264 2010-03-19 17:52 /usr/bin/ruby1.8
RubyGems Environment:
- RUBYGEMS VERSION: 1.6.2
- RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /usr/lib/ruby/gems/1.8
- /root/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
并检查安装了哪个ruby版本
ls -l /usr/bin/gem*
ls -l /usr/bin/ruby*
返回
/usr/bin/gem
/usr/bin/ruby
lrwxrwxrwx 1 root root 15 2011-12-06 18:37 /usr/bin/gem -> /usr/bin/gem1.8
-rwxr-xr-x 1 root root 545 2011-09-16 16:19 /usr/bin/gem1.8
lrwxrwxrwx 1 root root 16 2011-12-06 18:38 /usr/bin/ruby -> /usr/bin/ruby1.8
-rwxr-xr-x 1 root root 6264 2010-03-19 17:52 /usr/bin/ruby1.8
RubyGems Environment:
- RUBYGEMS VERSION: 1.6.2
- RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /usr/lib/ruby/gems/1.8
- /root/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
最后,
gem env
返回
/usr/bin/gem
/usr/bin/ruby
lrwxrwxrwx 1 root root 15 2011-12-06 18:37 /usr/bin/gem -> /usr/bin/gem1.8
-rwxr-xr-x 1 root root 545 2011-09-16 16:19 /usr/bin/gem1.8
lrwxrwxrwx 1 root root 16 2011-12-06 18:38 /usr/bin/ruby -> /usr/bin/ruby1.8
-rwxr-xr-x 1 root root 6264 2010-03-19 17:52 /usr/bin/ruby1.8
RubyGems Environment:
- RUBYGEMS VERSION: 1.6.2
- RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /usr/lib/ruby/gems/1.8
- /root/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
我在stackoverflow的其他地方读到,这可以通过符号链接解决。我还了解了如何使用config/environment.rb文件,但我更喜欢使用符号链接来修复它
知道我必须创建或更改哪些链接吗
更新:
需要“nokogiri”
也是返回“无需加载此类文件”错误。我已经安装了nokogiri 1.5.0
谢谢您在Rails代码中的某个地方引用了Sanitize?@RichardHulse只在控制器中调用它。但是,即使我使用只需要'sanitize'来创建一个新文件,例如file.rb,并执行它ruby file.rb,我也会得到一个错误:没有这样的文件要加载-sanitizeLoadError@RichardHulse运行echo$PATH时,我会得到以下结果:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/usr/games:/usr/lib/ruby/gems/1.8:/usr/bin/ruby:/var/lib/gems/1.8/:/root/.gem/ruby/1.8/:/usr/bin/gem:/usr/bin/gem:/usr/bin/gem:/usr/bin/ruby@RichardHulse要求nokogiri也提出了同样的问题。我已经安装了nokogiri 1.5.0。@RichardHulse已修复:必须在文件顶部添加require'rubygems'。谢谢