2010-03-26 83 views
4

我想上手twitter4r但我有一些問題:ruby​​gem Twitter4R問題

爲什麼我不能加載IRB寶石?

 
$ sudo gem install twitter4r 
Successfully installed twitter4r-0.3.2 
1 gem installed 
Installing ri documentation for twitter4r-0.3.2... 
Installing RDoc documentation for twitter4r-0.3.2... 

$ irb 
>> require 'rubygems' 
=> false 
>> require 'twitter4r' 
LoadError: no such file to load -- twitter4r 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in 
`gem_original_require' 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in 
`require' 
     from (irb):2 

我已經下載了http://files.rubyforge.vm.bytemark.co.uk/twitter4r/twitter4rails.post-0_2_4.zip 應用程序,它僅適用於twitter4r-0.2.4,而不是與過去的版本 twitter4r-0.3.2:

 
$ script/server 
./script/../config/boot.rb:26:Warning: Gem::SourceIndex#search support 
for String patterns is deprecated, use #find_name 
=> Booting Mongrel (use 'script/server webrick' to force WEBrick) 
=> Rails application starting on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
** Starting Mongrel listening at 0.0.0.0:3000 
** Starting Rails with development environment... 
Exiting 
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in 
`gem_original_require': no such file to load -- twitter/rails 
(MissingSourceFile) 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in 
`require' 
     from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ 
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:495:in `require' 
     from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ 
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:342:in `new_constants_in' 
     from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ 
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:495:in `require' 
     from /Users/leonardodarioperna/Projects/Kaaaki/marrakaaaki/ 
twitter4rails.post-0_2_4/config/environment.rb:64 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in 
`gem_original_require' 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in 
`require' 
     from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ 
ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:495:in `require' 
     ... 23 levels... 
     from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ 
ruby/gems/1.8/gems/rails-1.2.3/lib/commands/server.rb:39 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in 
`gem_original_require' 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in 
`require' 
     from script/server:3 

最後一件事,在/到config/environment.rb我需要指定:

   RAILS_GEM_VERSION = '1.2.3' unless defined? RAILS_GEM_VERSION

,如果我用我最後的軌道版本:

  RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION

我得到這個錯誤:

 
$ script/server -p3002 
=> Booting Mongrel 
=> Rails 2.3.4 application starting on http://0.0.0.0:3000 
/Library/Ruby/Site/1.8/rubygems.rb:280:in `activate': can't activate 
activerecord (= 1.15.6, runtime) for [], already activated 
activerecord-2.3.4 for ["rails-2.3.4"] (Gem::LoadError) 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:35:in 
`require' 
     from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.4/lib/ 
active_support/dependencies.rb:156:in `require' 
     from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.4/lib/ 
active_support/dependencies.rb:521:in `new_constants_in' 
     from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.4/lib/ 
active_support/dependencies.rb:156:in `require' 
     from /Library/Ruby/Gems/1.8/gems/twitter4r-0.2.4/lib/twitter/rails.rb: 
6 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in 
`gem_original_require' 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in 
`require' 
     from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.4/lib/ 
active_support/dependencies.rb:156:in `require' 
     ... 8 levels... 
     from /Library/Ruby/Gems/1.8/gems/rails-2.3.4/lib/commands/server.rb: 
84 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in 
`gem_original_require' 
     from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in 
`require' 
     from script/server:3 

而這一切:-)

謝謝!

回答

5

混淆的寶石名稱和要求名稱是不同的。以下irb正常工作:

require 'twitter' 
+0

我討厭它,當發生這種情況。 – 2010-03-26 03:53:55

+0

+1 - 這真的很瘋狂......一些額外的編碼習慣。 :) – RubyDubee 2010-03-26 07:29:17

+0

OMG,這太瘋狂了。 最後一件事,我也安裝了「twitter」gem(http://twitter.rubyforge.org/),我如何區分它們在IRB中? – 2010-03-26 18:48:13