Ruby 无法加载 JSON gem?

标签 ruby

<分区>

当我尝试启动需要 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 没有出现在 listsearch 的输出中,您需要使用以下方法安装它:

sudo gem install json

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

关于Ruby 无法加载 JSON gem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14994468/

相关文章:

ruby - 如何将 float 作为没有指数符号的字符串获取?

Ruby 移动端口

ruby-on-rails - Rspec 标签和过滤器 - 过滤器的多个值?

css - 在 ruby​​ 中更新 SASS

ruby - 如何从 Ruby 模块中只导入几个函数?

javascript - 为什么我的 js.erb 文件中没有工作链接

ruby - 将 ActiveRecord 验证添加到 PaperTrail 的版本模型?

ruby - 运行测试时如何使以下 RightAWS 消息静音

html - .each 在 HTML Slim 中做其他声明

ruby-on-rails - 我应该将我的数据库查询测试放在 Rails 中的什么位置?