Ruby Twitter的宝石

时间:2011-01-11 17:22:45

标签: ruby twitter gem

- 更新 -

好的,修好了。这就是我做的。完全去除所有红宝石和rubygems。然后安装ruby1.9.1-full和rubygems1.9.1然后安装twitter gem。

大家好,

我在使用Twitter宝石时遇到了麻烦。我正在使用ruby 1.8.7

安装完成后,当我尝试运行一个简单的脚本时,我收到此错误

ruby​​ twitter.rb ./twitter.rb:5:未初始化的常量Twitter(NameError)     来自/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in require'     来自twitter.rb:2

我在Ubuntu盒子上运行它。我检查了gem -list,我看到那里列出了Twitter(1.1.0)。

这是我试图运行的代码

require "rubygems"
require 'twitter'


puts Twitter.user_timeline("test").first.text 

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我相信它只适用于Ruby 1.9如果你想使用twitter gem试用版本0.9和Ruby 1.8.x

答案 1 :(得分:0)

这对我有用:

ruby-1.9.2-p0 > require 'twitter'
 => true 
ruby-1.9.2-p0 > puts Twitter.user_timeline("test").first.text 
TExES Pedagogy and Professional Responsibilities EC-12 Teacher Certification Test Prep Study Guid… - by Sharon A Wynne http://amzn.to/f3kF74
 => nil 

您使用的是哪个版本的红宝石?

答案 2 :(得分:0)

gouravtiwari21的评论似乎解决了这个问题,但如果你想使用Ruby 1.8.x运行它,建议twitter gem需要0.9.0是错误的。

您可以在此处查看版本兼容性: http://travis-ci.org/#!/jnunemaker/twitter

它显示使用Ruby安装的twitter gem低至1.8.7。

对我而言,拥有正确的依赖宝石以及正确的版本是一个问题。

以下是我如何运作:

我跑了:

sudo gem list

将特定宝石的版本与我在此处找到的版本进行比较: https://github.com/jnunemaker/twitter/blob/master/HISTORY.md(我只是搜索“依赖”这个词,看看twitter关心哪个版本。

我也发现了这个差异: https://github.com/jnunemaker/twitter/commit/ac8114c1f6ba2da20c2267d3133252c2ffc6b6a3

我将那里列出的宝石与我安装的宝石进行了比较,我确保我的系统与我在版本说明中看到的一致。通常发生的事情是我有一个宝石的多个版本,并且由于某种原因,较低版本优先。

我不确定为什么还要添加

gem 'twitter', '1.7.1'

到我的Gemfile,但是唉,这是让这些东西运转所需的最后一步。

不要忘记重新启动服务器,你应该做得很好!