3

当我尝试启动需要 JSON gem 的脚本时,它给了我一个错误:

/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- json (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /home/XXXXXX/XXXXXX/XXXXXX/XXXX.rb:2

谁能给我一些建议?

4

3 回答 3

17

您正在运行 Ruby 1.8+,它出现:

/usr/lib/ruby/site_ruby/1.8

这意味着您的 Ruby 不会自动加载 Rubygems,因此您必须告诉它该做什么。尝试:

require 'rubygems'
require 'json'

在命令行调用的 Rubygemsgem有许多可用的命令。尝试在命令行输入:

gem help

获取它可以做什么的列表。

现在最有用的是:

gem list json

以“json”开头的宝石列表或:

gem search json

获取名称中带有“json”的宝石列表。

目标是查看 JSON gem 是否在其应有的位置。如果是,它将显示在命令的输出中。

另一个有用的 gem 命令是:

gem update --system

它告诉 Rubygems 自我更新。有时 Rubygems 应用程序维护者会发布更新,而该命令就是我们告诉它使用最新版本引导自身的命令。因为您运行的是旧版本的 Ruby,所以 Rubygems 迫切需要更新的可能性非常大。但是,等等,还有更多。

因为您正在调整 Ruby 的系统版本,所以您需要使用:

sudo gem update --system

“sudo”调整您的帐户以暂时具有系统管理功能。

Rubygems 完成自身升级后,如果 json 没有出现在listor的输出中search,则需要使用以下命令安装它:

sudo gem install json

此时运行searchorlist命令应该可以工作,并且使用上述两个要求运行脚本应该可以工作。

于 2013-02-21T04:49:25.530 回答
4

您可能没有JSON安装 gem。要检查gem list在终端中使用该命令,并查看是否看到json,则它已安装,如果没有,则 do gem install json。检查以确保它在gem list安装后。如果是的话,你应该很高兴。

于 2013-02-21T04:44:57.403 回答
2

您是否安装了 JSON gem?在那条宝石之路上?gem install json应该够了

于 2013-02-21T04:25:40.967 回答