我正在使用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>'
答案 0 :(得分:20)
在其他宝石要求之前尝试require 'rubygems'
。
rubygems实际上正在重新定义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!