2

やあみんな私は twitter gem に直面している問題があります。この内容のファイル (twitter.rb) があります

require "rubygems"
require "twitter"

puts Twitter.user_timeline("roykasa").first.text
puts Twitter.user("roykasa").location
search = Twitter::Search.new
search.containing("hate").to("StewieJokess").
result_type("recent").each do |r| puts r.text end

ファイルを実行すると、次のエラーが表示されます: uninitialized constant Twitter (NameError) SO のどこかで、ユーザーが同様の問題を抱えていて、新しいバージョンの ruby​​ と ruby​​gems をインストールして解決しましたが、私が抱えている問題は実行中ですsuse 12.1 を使用しており、最新バージョンの ruby​​ と ruby​​ gem の両方を実行しています。サードパーティ製の rpm はどこにもありません。少なくとも私は検索しました。誰かがこれを回避する別の方法を知っていますか?

4

2 に答える 2

1

Ruby 1.8.x を実行している場合は、独自のスクリプトの名前を .x 以外の名前に変更することで問題を解決できるはずですtwitter.rb

これは、gem のメイン ファイルがこのように正確に命名されており、オーダーが作成するtwitter複合仮想ファイル システムでファイルが上書きされる可能性があるためです。$LOAD_PATHRuby 1.9.x より前requireは、ライブラリ ディレクトリからロードするだけでなく、プロセスの現在の作業ディレクトリ (この場合はスクリプトが存在するディレクトリ) に関連するファイルをロードすることを好みました。

于 2012-11-08T09:05:03.317 に答える
0

ファイルにtwitter.rbという名前を付けないでください。また、同じディレクトリにtwitter.rbという名前の他のファイルがないことを確認してください。

于 2013-01-06T07:29:38.130 に答える