Ruby gem安装和“没有这样的文件加载”

时间:2012-01-19 18:09:45

标签: ruby rubygems html-entities

我正在使用Backtrack 5中的Ruby 1.9.2dev编写脚本但是在尝试使用库“htmlentities”解析html实体时遇到了一些问题。

虽然我已经安装了gem,但我无法加载库。 我将向您展示我在控制台中遇到的问题:

root@bt:~# gem list -d htmlentities

*** LOCAL GEMS ***

htmlentities (4.3.1)
    Author: Paul Battley
    Homepage: https://github.com/threedaymonk/htmlentities
    Installed at: /var/lib/gems/1.9.2

    A module for encoding and decoding (X)HTML entities.

root@bt:~# irb  irb(main):001:0> require 'htmlentities'  LoadError: no such file to load -- htmlentities    
       from (irb):1:in `require'    
       from (irb):1     
       from /usr/bin/irb:12:in `<main>'

这与我和nokogiri有同样的问题。我用

安装了库
gem install htmlentities

你知道我为什么遇到这个问题吗?

谢谢。

编辑:

我之前尝试过'require'rubygems'以满足任何其他要求,但也是如此:

我试过要求'rubygems',但发生了同样的事情:

irb(main):001:0> require 'rubygems'
=> false
irb(main):002:0> require 'htmlentities'
LoadError: no such file to load -- htmlentities
    from (irb):2:in `require'
    from (irb):2
    from /usr/bin/irb:12:in `<main>'

2 个答案:

答案 0 :(得分:20)

在其他宝石要求之前尝试require 'rubygems'

ruby​​gems实际上正在重新定义Kernel#require方法以在你的gempath上寻找宝石。 Whitout它ruby将只查找本地/路径文件。

答案 1 :(得分:3)

它花了我很多但现在我知道如何解决它。这是关于GEM_PATH。

# echo "export GEM_PATH=/var/lib/gems/1.9.2/" >> ~/.bashrc 
# source ~/.bashrc

现在如果我运行irb:

# irb 
irb(main):003:0> require 'htmlentities'
=> true
irb(main):004:0>

WOOT!