【问题标题】:no such file to load -- rdoc/task没有要加载的文件 -- rdoc/task
【发布时间】:2011-12-11 04:54:22
【问题描述】:

当我跑步时

rake db:create

我收到此错误

rake aborted!
no such file to load -- rdoc/task

(See full trace by running task with --trace)

这里是 --trace

/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
/home/tpeg/rails_apps/Test/Rakefile:8
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load_rakefile'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:495:in `raw_load_rakefile'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:78:in `load_rakefile'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:77:in `load_rakefile'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:61:in `run'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2/bin/rake:32
/usr/bin/rake:19:in `load'
/usr/bin/rake:19

我已经安装了 rake 0.9.2 和 rdoc 3.11。我在我的应用程序目录中运行这些命令。

【问题讨论】:

  • 你之前执行过bundle install吗?
  • 它给了我:bundle: command not found
  • 请查看this out
  • 这不是很有帮助。我已经安装了 bundler,但它仍然说找不到它。
  • 尝试updatedb 然后whereis bundle

标签: ruby-on-rails rubygems rake rdoc


【解决方案1】:

我遇到了同样的问题。

我通过在我的 Gemfile 中添加 gem 'rdoc' 然后运行 ​​bundle install 解决了这个问题。

【讨论】:

  • 你的“Gemfile”在哪里?是系统文件还是别的什么?
  • Gemfile 是一个文本文件,位于 Rails 应用程序的根目录。此文件的目的是指明您的应用程序需要哪些 gem。
  • 在使用旧版 Rails 2 应用程序时遇到此问题。在捆绑之前没有包含这些东西:D
【解决方案2】:

如果您没有使用 Gemfile,很可能会从以下位置切换 Rakefile 中的行:

require 'rake/rdoctask'

到这里

require 'rdoc/task'

会起作用。它对我有用。

也试试

gem install rdoc

【讨论】:

    【解决方案3】:

    如果您正在开发一个没有 Gemfile 的应用程序(例如带有 rails 2.3 的旧版——),您可以手动安装 gem rdoc:

    gem 安装 rdoc

    【讨论】:

      【解决方案4】:

      如果环境之间有不同的 rake 版本,您实际上可以在 Rakefile 中捕获此问题。对于较旧的生产应用程序,我们就是这样。

      begin
        require 'rake/rdoctask'
      rescue
        require 'rdoc/task'
      end
      

      【讨论】:

        猜你喜欢
        • 2011-04-08
        • 2013-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多