uninitialized constant Twitter (NameError)

本秂侑毒 提交于 2019-12-20 02:58:08

问题


Hey guys i have a problem i am facing with the twitter gem. I have a file (twitter.rb) with this content

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

When i run the file i get this error : uninitialized constant Twitter (NameError) I read somewhere on SO where a user had a similar problem and he solved it by installing a new version of ruby and rubygems but the problem i am having is am running suse 12.1 and am running the latest versions of both ruby and ruby gems. No rpms can be found from 3rd parties anywhere. Atleast i have searched. Does anyone know another way round this?


回答1:


If you are running Ruby 1.8.x you should be able to solve your problem by renaming your own script to anything different than twitter.rb.

This is because the main file in the twitter gem is named exactly like this and your file probably overrides it in combined virtual file system that the $LOAD_PATH order creates. Before Ruby 1.9.x, require did not only load from library directories, but preferred to load files relative to the current working directory of your process, in this case, the directory where your script lies in.




回答2:


Do not name your file as twitter.rb, also make sure there is no other file in the same directory with the name twitter.rb



来源:https://stackoverflow.com/questions/13285495/uninitialized-constant-twitter-nameerror

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!