我在ubuntu 10.04安装上安装了yajl,libyajl-dev和yajl-ruby gem。
我将gem添加到2.3.8 ruby on rails安装上,因为2.3.6的发行说明表明如果存在于系统中,将使用yajl。 Rails在“无法加载yajl-ruby”的行中出现错误消息,因此我想我会看到irb会话中发生了什么。这就是:
$ dpkg -l | grep yajl
ii libyajl-dev 1.0.8-1 Yet Another JSON Library - development files
ii libyajl1 1.0.8-1 Yet Another JSON Library
ii yajl-tools 1.0.8-1 Yet Another JSON Library - tools
$ gem list | grep yajl
yajl-ruby (0.7.6)
$ irb
> require 'yajl'
LoadError: no such file to load -- yajl
from (irb):1:in `require'
from (irb):1
from :0
> require 'yajl/gzip'
LoadError: no such file to load -- yajl/gzip
from (irb):2:in `require'
from (irb):2
from :0
> require 'yajl-ruby'
LoadError: no such file to load -- yajl-ruby
from (irb):3:in `require'
from (irb):3
from :0
在花了一段时间搜索此问题后,我找不到其他人遇到此问题。任何人都知道发生了什么事?
答案 0 :(得分:3)
使用gem代替sudo gem install yajl-ruby
然后就像使用ruby脚本中的任何其他gem一样使用它
require 'rubygems'
require 'yajl'
json = File.new('test.json', 'r')
parser = Yajl::Parser.new
hash = parser.parse(json)