2011-04-28 74 views
0

我認爲這個錯誤可能與我的rvm和rubygems的一些配置有關。我在ubuntu上運行,代碼在其他機器上正常運行,但不在我的機器上運行。Twitter的未定義方法「狀態」:Ruby腳本中的模塊

我從github中的例子複製了代碼,但由於某種原因,它不工作。我已經試過1.8.7和1.9.2,還有1.7和1.5的rubygems。我不知道還有什麼要嘗試。

代碼

require "rubygems" 
require "twitter" 
puts Twitter.status(27558893223).text 

嘰嘰喳喳的寶石

work/dump% gem list --local -d twitter 
*** LOCAL GEMS *** 
twitter (1.4.0) 
Authors: John Nunemaker, Wynn Netherland, Erik Michaels-Ober, Steve 
Richert 
Rubyforge: http://rubyforge.org/projects/twitter 
Homepage: https://github.com/jnunemaker/twitter 
Installed at: /home/pdelgallego/.rvm/gems/ruby-1.9.2-p180 

Ruby wrapper for the Twitter API 

錯誤

1.rb:3:in <main>': undefined methodstatus' for Twitter:Module (NoMethodError) 

紅寶石版

ruby -v 
ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux] 

任何想法?

+0

輸出是什麼Twitter.methods.grep(/ ST /)給你? – 2011-04-28 11:17:22

回答

1

Twitter模塊需要一些子模塊,其中包括Twitter :: Client。 method_missing被轉發到Twitter :: Client。

所以我猜你的Twitter模塊無法找到正確的Twitter :: Client模塊。

什麼的

ruby -e "require 'twitter'; c = Twitter::Client.new; puts c.respond_to?('status')" 
+0

輸出是真的。 如果我更改爲c.status(),則輸出會引發一個ArgumentError。 c.status(27558893223) 引發ArgumentError:無效狀態的操作:27558893223 \t從/home/pdelgallego/.rvm/gems/ruby-1.8.7-p334/gems/mbbx6spp- twitter4r-0.4.0/LIB /微/client/status.rb:34:in'status' \t from(irb):13 – Pedro 2011-04-30 07:49:11

相關問題