2016-10-11 5 views
0

このコードを実行しようとするので、私は初期化されていない一定のエラーを取得しています:初期化されていない一定のツイッター:: REST(NameError)

require 'twitter' 
require 'json' 

client = Twitter::REST::Client.new do |config| 
config.consumer_key = ENV['TWITTER_CONSUMER_KEY'] 
config.consumer_secret = ENV['TWITTER_CONSUMER_SECRET'] 
config.access_token = ENV['TWITTER_ACCESS_TOKEN'] 
config.access_token_secret = ENV['TWITTER_ACCESS_TOKEN_SECRET'] 
end 

私は周りを見て取り、this issueを見つけたが、それはいないようです私のファイル名がtwitterFeed.rbであるので、適用する。それから、それはおそらく、それが宝石との不一致のバージョン化であると思った。だから私はクリーンアップを実行したが、それは私に宝石が欠けていたと私に言って、それはツイッターの宝石の古いバージョンを再インストールしました。 私はTwitter(5.16.0,4.8.1)を走らせています。 Twitter :: RESTがなぜ初期化されていないのかを確かめるためにここからどこに行くべきか正確にはわかりません。

洞察力があれば幸いです。

編集: いくつかの再評価の後、私は不一致の依存性を持つかもしれません。

私は私のコンソール上でこれを取得する: /Users/elizabethbartscherer/.rvm/gems/ruby-2.2.1/gems/twitter-4.8.1/lib/twitter/cursor.rb:51:警告:循環論法をリファレンス - コレクション ファラデー::ビルダーはファラデー:: RackBuilderになりました。

答えて

0

推奨の方法は、以下のように、プロジェクトディレクトリに、Gemfileを設定することにより、Bundlerを使用することです:

source 'https://rubygems.org' 

gem 'twitter' 
gem 'json' 

その後bundle installを実行します。あなたのtwitterFeed.rbファイルで

このように見えるように、ファイルの先頭に以下を追加:

require 'rubygems' 
require 'bundler/setup' 

require 'twitter' 
require 'json' 

client = Twitter::REST::Client.new do |config| 
config.consumer_key = ENV['TWITTER_CONSUMER_KEY'] 
config.consumer_secret = ENV['TWITTER_CONSUMER_SECRET'] 
config.access_token = ENV['TWITTER_ACCESS_TOKEN'] 
config.access_token_secret = ENV['TWITTER_ACCESS_TOKEN_SECRET'] 
end 

再度スクリプトを実行してみてください:ruby twitterFeed.rb

+0

私はいくつかのミスマッチDepsを持つかもしれないと思う助けていない。 – Manateeforme

+0

最後のコメントを提出するつもりはありませんでした。私のコンソールでログをチェックアウトしています。 /Users/elizabethbartscherer/.rvm/gems/ruby-2.2.1/gems/twitter-4.8.1/lib/twitter/cursor.rb:51:警告:循環引数の参照 - コレクション ファラデー::ビルダーは今すぐファラデー:: RackBuilder。 – Manateeforme

0

を私は問題を解決しました。私はバンドルを使用するときにgem.lockファイルを作成し、私は自分の依存関係を乱してしまったことに気付きませんでした。ファイルを削除して再インストールして問題を解決してください。

関連する問題