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

当我运行该文件时,我收到此错误:未初始化的常量 Twitter (NameError) 我在 SO 上的某个地方读到了一个用户遇到类似问题的地方,他通过安装新版本的 ruby​​ 和 ruby​​gems 解决了这个问题,但我遇到的问题是正在运行suse 12.1 并且正在运行 ruby​​ 和 ruby​​ gems 的最新版本。在任何地方都找不到来自第 3 方的 rpm。至少我已经搜索过了。有谁知道另一种解决方法?

4

2 回答 2

1

如果您正在运行 Ruby 1.8.x,您应该能够通过将您自己的脚本重命名为不同于twitter.rb.

这是因为twittergem 中的主文件的名称与此完全相同,并且您的文件可能会在$LOAD_PATH订单创建的组合虚拟文件系统中覆盖它。在 Ruby 1.9.x 之前,require不仅从库目录加载,而且更喜欢加载相对于进程当前工作目录的文件,在这种情况下,是脚本所在的目录。

于 2012-11-08T09:05:03.317 回答
0

不要将您的文件命名为twitter.rb,还要确保同一目录中没有其他名称为twitter.rb的文件

于 2013-01-06T07:29:38.130 回答