rake gem问题:安装

我在用

Rails 2.3.5,Ruby 1.8.7

运行以下命令后,我收到以下错误。 有任何想法吗?

$ rake gem:install $ rake/rdoctask is deprecated. Use rdoc/task instead (in RDoc 2.4.2+) $ rake aborted! $ rake gem:install --trace rake/rdoctask is deprecated. Use rdoc/task instead (in RDoc 2.4.2+) rake aborted! uninitialized constant ActiveSupport::Dependencies::Mutex /Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/ext/module.rb:36:in `const_missing' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:55 /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require' /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support.rb:56 /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require' /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/tasks/misc.rake:18 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/tasks/rails.rb:4:in `load' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/tasks/rails.rb:4 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/tasks/rails.rb:4:in `each' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/tasks/rails.rb:4 /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require' /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require' /Users/P/Dev/loginform/unobtrusive-login/Rakefile:10 /Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load' /Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load_rakefile' /Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:495:in `raw_load_rakefile' /Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:78:in `load_rakefile' /Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' /Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:77:in `load_rakefile' /Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:61:in `run' /Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' /Library/Ruby/Gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:59:in `run' /Library/Ruby/Gems/1.8/gems/rake-0.9.2/bin/rake:32 /usr/bin/rake:19:in `load' /usr/bin/rake:19 

查看Rakefile中的第一行。 更改:

 require 'rake/rdoctask' 

至:

 require 'rdoc/task' 

编辑

看起来你有像Ruby嫌疑人那样的Rubygems不兼容问题。 您需要升级您的Rails版本,或降级您的gem版本。

您可以更改为任何gem版本:

 gem update --system xyz 

详细了解您的问题

 uninitialized constant ActiveSupport::Dependencies::Mutex 

这里:
未初始化的常量ActiveSupport :: Dependencies :: Mutex(NameError)

我使用Ruby 1.8.7和Rails 2.3.8并得到相同的错误。 所以我将RubyGems版本更改为1.5.3并解决了问题。 所以你需要做的就是编写这个命令:“gem update –system 1.5.3”它会将你的ruby gems版本更新为1.5.3,这完全适用于rails 2.3.8。 希望能帮助到你。

你有哪个版本的rubygems? 要使用2.3.5,您可能需要使用<= 1.4和rake 0.8.7的rubygems。