私はスクリプト内でXmlSimple gemを使用しようとしています。私のスクリプトは次のようになります。初期化されていない定数XmlSimpleですが、適切な宝石が含まれています
#!/usr/bin/env ruby
gem 'xml-simple', '1.1.5'
xml = XmlSimple.xml_in('test_data.xml')
puts xml
これはエラーで失敗します。
./script.rb:5:in `<main>': uninitialized constant XmlSimple (NameError)
は、なぜ私はこのエラーを取得しています、と私はそれをどのように修正するのですか?
宝石と同様の問題にこれらの共通の解決策は、私を助けていない:
- 1人の忘れが明示的に関連する宝石を含める場合、このエラーが出てきます。私のMVCEからわかるように、私はこの間違いをしていません。
- 正しいバージョンのgemを明示的に要求すると、この問題が解決することがあります。しかし、私はすでにこの宝石の最新バージョンが必要です。また、私は自分のシステムにインストールした宝石のバージョンであることを再確認しました。
- XmlSimple documentationによれば、
XmlSimple
クラスは、この宝石が含まれている場合には、必ず定義されるべきです。私は存在しないクラスを使うつもりはない。
宝石のソースを自分のスクリプトのディレクトリにコピーするために 'gem unpack'を使うと、スクリプトを動作させることができました。しかし、私はまだ宝石を含めると、典型的な方法ではうまくいかなかったのはなぜか分かりません。宝石のソースは間違いなく解決していますが、まだまだ奇妙な問題があります。 – Kevin