Ruby gem安装和“没有这样的文件加载”
我在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 `'
这与我和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 `'
尝试在其余的gem要求之前require 'rubygems'
。
rubygems实际上正在重新定义Kernel#require
#require方法以在gempath上查找gem。 Whitout它ruby将只查找本地/路径文件。
它花了我很多,但现在我知道如何解决它。 这是关于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!