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 が Rubygem を自動的にロードしないことを意味するため、何をすべきかを Ruby に指示する必要があります。試す:

require 'rubygems'
require 'json'

コマンド ラインで呼び出される Rubygems にgemは、使用できるコマンドが多数あります。コマンドラインでこれを入力してみてください:

gem help

それができることのリストのために。

現在最も役立つのは次のとおりです。

gem list json

「json」で始まるgemのリストまたは:

gem search json

名前に「json」が含まれる宝石のリストについては。

目標は、JSON gem が本来あるべき場所にあるかどうかを確認することです。そうであれば、コマンドの出力に表示されます。

別の便利な gem コマンドは次のとおりです。

gem update --system

Rubygems に自分自身を更新するように指示します。Rubygems アプリケーションのメンテナーが更新を発行することがあります。そのコマンドは、最新バージョンでブートストラップするように指示するために行うものです。古いバージョンの Ruby を実行しているため、Rubygems を早急に更新する必要がある可能性が非常に高くなります。しかし、待ってください。

Ruby のシステム バージョンを調整しているため、以下を使用する必要があります。

sudo gem update --system

「sudo」は、一時的にシステム管理機能を持つようにアカウントを調整します。

Rubygems 自体のアップグレードが完了したら、listまたはからの出力に json が表示されない場合searchは、次を使用してインストールする必要があります。

sudo gem install json

その時点でsearchorlistコマンドの実行が機能し、上記の 2 つの require を使用してスクリプトを実行すると機能するはずです。

于 2013-02-21T04:49:25.530 に答える
4

JSONgemがインストールされていない可能性があります。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 に答える