嘿伙计们,我有一个问题,我面对的是twitter宝石。我有一个包含此内容的文件(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
当我运行该文件时,我收到此错误: 未初始化的常量Twitter(NameError) 我在SO上找到某个用户遇到类似问题的地方,他通过安装新版本的ruby和rubygems来解决它,但我遇到的问题是运行suse 12.1并运行最新版本的ruby和ruby宝石。在任何地方都无法找到第三方的rpms。至少我已经搜索过了。有没有人知道另一种方式?
答案 0 :(得分:1)
如果您运行的是Ruby 1.8.x,您应该可以通过将自己的脚本重命名为twitter.rb
以外的任何内容来解决问题。
这是因为twitter
gem中的主文件的名称与此完全相同,并且您的文件可能会覆盖$LOAD_PATH
订单创建的组合虚拟文件系统中的文件。在Ruby 1.9.x之前,require
不仅从库目录加载,而且更喜欢相对于进程的当前工作目录(在本例中是脚本所在的目录)加载文件。
答案 1 :(得分:0)
请勿将文件命名为 twitter.rb ,同时确保名称 twitter.rb
的同一目录中没有其他文件