【发布时间】:2014-01-16 09:50:53
【问题描述】:
我是 ruby on rails 的新手。在执行 rake db:create 时出现以下错误。问题是什么。我发现这是一个常见问题并用谷歌搜索它。我发现要更改 rake 版本,但我的问题没有解决.
rake aborted!
ERROR: 'rake/rdoctask' is obsolete and no longer supported. Use 'rdoc/task' (available in RDoc 2.4.2+) instead.
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/rdoctask.rb:1:in `<top (required)>'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/home/sathees/kits/fedena/fedena-v2.3-bundle-linux/Rakefile:8:in `<top (required)>'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/rake_module.rb:25:in `load'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/rake_module.rb:25:in `load_rakefile'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/application.rb:637:in `raw_load_rakefile'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/application.rb:94:in `block in load_rakefile'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/application.rb:165:in `standard_exception_handling'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/application.rb:93:in `load_rakefile'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/application.rb:77:in `block in run'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/application.rb:165:in `standard_exception_handling'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/application.rb:75:in `run'
/usr/local/bin/rake:33:in `<main>'
如果我尝试将 require 'rake/rdoctask' 替换为 require 'rdoc/task' 出现以下错误
rake aborted!
cannot load such file -- iconv
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-2.3.5/lib/active_support/inflector.rb:3:in `<top (required)>'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-2.3.5/lib/active_support/core_ext/integer/inflections.rb:1:in `<top (required)>'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-2.3.5/lib/active_support/core_ext/integer.rb:2:in `<top (required)>'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-2.3.5/lib/active_support/core_ext.rb:8:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-2.3.5/lib/active_support/core_ext.rb:8:in `each'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-2.3.5/lib/active_support/core_ext.rb:8:in `<top (required)>'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-2.3.5/lib/active_support.rb:55:in `<top (required)>'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/gems/2.1.0/gems/rails-2.3.5/lib/tasks/misc.rake:18:in `<top (required)>'
/usr/local/lib/ruby/gems/2.1.0/gems/rails-2.3.5/lib/tasks/rails.rb:4:in `load'
/usr/local/lib/ruby/gems/2.1.0/gems/rails-2.3.5/lib/tasks/rails.rb:4:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.1.0/gems/rails-2.3.5/lib/tasks/rails.rb:4:in `each'
/usr/local/lib/ruby/gems/2.1.0/gems/rails-2.3.5/lib/tasks/rails.rb:4:in `<top (required)>'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/home/sathees/kits/fedena/fedena-v2.3-bundle-linux/Rakefile:11:in `<top (required)>'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/rake_module.rb:25:in `load'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/rake_module.rb:25:in `load_rakefile'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/application.rb:637:in `raw_load_rakefile'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/application.rb:94:in `block in load_rakefile'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/application.rb:165:in `standard_exception_handling'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/application.rb:93:in `load_rakefile'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/application.rb:77:in `block in run'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/application.rb:165:in `standard_exception_handling'
/usr/local/lib/ruby/gems/2.1.0/gems/rake-10.1.1/lib/rake/application.rb:75:in `run'
/usr/local/bin/rake:33:in `<main>'
已安装的宝石
gem list
*** LOCAL GEMS ***
actionmailer (4.0.2)
actionpack (4.0.2)
activemodel (4.0.2)
activerecord (4.0.2)
activerecord-deprecated_finders (1.0.3)
activesupport (4.0.2)
arel (4.0.1)
atomic (1.1.14)
bigdecimal (1.2.3)
builder (3.1.4)
bundler (1.5.2)
bundler-unload (1.0.2)
erubis (2.7.0)
executable-hooks (1.3.1)
gem-wrappers (1.2.4)
hike (1.2.3)
i18n (0.6.9, 0.4.0)
io-console (0.4.2)
json (1.8.1)
mail (2.5.4)
mime-types (1.25.1)
minitest (4.7.5)
multi_json (1.8.4)
polyglot (0.3.3)
psych (2.0.2)
rack (1.5.2)
rack-test (0.6.2)
rails (4.0.2)
railties (4.0.2)
rake (10.1.0)
rdoc (4.1.0)
rubygems-bundler (1.4.2)
rvm (1.11.3.8)
sprockets (2.10.1)
sprockets-rails (2.0.1)
test-unit (2.1.0.0)
thor (0.18.1)
thread_safe (0.1.3)
tilt (1.4.1)
treetop (1.4.15)
tzinfo (0.3.38)
【问题讨论】:
-
在您的应用程序文件夹中,文件“Rakefile”有代码:需要 orted!错误:'rake/rdoctask' 所以你必须用 require 'rdoc/task' 替换它。如果仍有问题,请告诉我。
-
是的,我已经尝试过了,并且出现了有问题的 gettig 错误。
-
表示rake任务问题已解决,这里还有一个问题,您可以通过rvm.io/packages/iconv修复它
-
@Neelesh 谢谢,我会尝试修复它。
-
你必须去你的应用程序目录并通过命令 $ rvm use runyversion 选择 ruby 版本(runyversion 只适用于 exm 你必须通过 $ rvm list 获取它)然后创建新的 gemset $ rvm gemeset创建 myapp 并通过 $ rvm gemset 为我的案例使用 myapp 选择该 gemset,现在运行 $ bundle .All 将起作用。我希望
标签: ruby-on-rails ruby ruby-on-rails-3 rubygems gem