2

我在 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

在花了一段时间搜索此问题后,我找不到其他有此问题的人。有人知道发生了什么吗?

4

1 回答 1

3

改用宝石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)
于 2010-07-11T12:01:22.177 回答