2012-06-08 21 views
-1

本方案的第一行是其中所述错误情况发生,红宝石不承认鹩哥对象/插件(微博API包装) - “NameError:未初始化常数鹩哥”

require 'grackle' 

这是代码我写这上午,当我在课堂上和整个程序(以'require grackle'开头)时,我能够读取tweets并直接从命令行写入它们。现在我回家,并尝试在我的Mac(从IRB)运行完全相同的程序,并得到这个:

source "grackle.rb" 

>> require 'grackle' 
NameError: uninitialized constant Grackle 
from ./grackle.rb:5 
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require' 
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require' 
from grackle.rb:2 
>> require 'json' 
=> false 
>> require 'highline/import' 
=> false 
>> 
?> $client = Grackle::Client.new(:auth => { 
...(Oauth keys)... 
NameError: uninitialized constant Grackle 
from grackle.rb:6 
etc etc, every time Grackle gets called a similar error occurs 

尝试运行第一行之后。这个初始错误然后触发一连串的错误。

我已经安装了grackle宝石。这里发生了什么?

+1

将文件'grackle.rb'重命名为'foo.rb'等其他内容,然后重试。这里有太多'grackle'文件。首先,确保您不需要对'grackle'进行加载时,会对ruby加载的内容感到困惑。 – Casper

回答

1

您正在运行ruby 1.8。您需要require 'rubygems'才能require 'grackle'(宝石)。

你混淆了自己,因为你有一个在你的当前目录中名为grackle.rb文件,但你没有初始化rubygemsirb第一,所以require 'grackle'将加载本地grackle.rb,而不是创业板。

相关问题