当我尝试启动需要 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
谁能给我一些建议?
你运行的是 Ruby 1.8+ 看起来:
/usr/lib/ruby/site_ruby/1.8
这意味着您的 Ruby 不会自动加载 Rubygems,因此您必须告诉它该做什么。尝试:
require 'rubygems'
require 'json'
Rubygems,在命令行中称为 gem
,有许多命令可供您使用。尝试在命令行中输入:
gem help
获取它可以做什么的列表。
现在最有用的是:
gem list json
获取以“json”开头的 gem 列表或:
gem search json
获取名称中带有“json”的 gem 列表。
目标是查看 JSON gem 是否在其应有的位置。如果是,它将显示在命令的输出中。
另一个有用的 gem 命令是:
gem update --system
告诉 Rubygems 更新自己。有时,Rubygems 应用程序维护者会发布更新,而该命令就是我们告诉它使用最新版本引导自身的命令。因为您运行的是旧版本的 Ruby,所以 Rubygems 迫切需要更新的可能性非常大。但是,等等,还有更多。
因为你正在调整 Ruby 的系统版本,所以你需要使用:
sudo gem update --system
“sudo”调整你的账户暂时拥有系统管理能力。
一旦 Rubygems 完成自身升级,如果 json 没有出现在 list
或 search
的输出中,您需要使用以下方法安装它:
sudo gem install json
此时运行 search
或 list
命令应该可以工作,并且使用上述两个要求运行脚本应该可以工作。