2016-10-11 2 views
0

Так я получаю неинициализированную постоянную ошибку при попытке запустить этот код:неинициализированной постоянная Twitter :: 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. Тогда я подумал, что это может быть какое-то несоответствие версий с драгоценным камнем. Поэтому я запустил очистку, но потом мне сказали, что у меня пропали драгоценные камни, и она переустановила более старую версию драгоценного камня. , так что у меня есть твиттер (5.16.0, 4.8.1). Не уверен точно, куда идти отсюда, чтобы выяснить, почему Twitter :: REST неинициализирован.

Любое понимание было бы весьма полезным.

EDIT: После некоторой переоценки у меня могут быть несоответствия.

Я получаю это на моей консоли: /Users/elizabethbartscherer/.rvm/gems/ruby-2.2.1/gems/twitter-4.8.1/lib/twitter/cursor.rb:51: предупреждение: круговой аргумент ссылка - коллекция Фарадей :: Строитель теперь Фарадей :: RackBuilder.

ответ

0

Рекомендуемый способ заключается в использовании Bundler путем создания Gemfile, в директории проекта, а именно:

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

Не помогло, я думаю, у меня могут быть некоторые несоответствующие Деды. – Manateeforme

+0

Не хотел представить этот последний комментарий. Проверка журналов на моей консоли у меня есть. /Users/elizabethbartscherer/.rvm/gems/ruby-2.2.1/gems/twitter-4.8.1/lib/twitter/cursor.rb:51: предупреждение: ссылка на круглый аргумент - коллекция Faraday :: Builder теперь Фарадей :: RackBuilder. – Manateeforme

0

я решил проблему. Я не понимал, что при использовании bundler он создает этот файл gem.lock, и мне удалось испортить мои зависимости. удалить файл и переустановить исправленную проблему.

Смежные вопросы