Rake doc:app 在升级到 Ruby 2.1.1 和 Rails 4.1 后失败

Posted

技术标签:

【中文标题】Rake doc:app 在升级到 Ruby 2.1.1 和 Rails 4.1 后失败【英文标题】:Rake doc:app fails after upgrading to Ruby 2.1.1 and Rails 4.1 【发布时间】:2014-05-31 16:43:36 【问题描述】:

我使用命令

rake doc:app

为我的 Rails 应用程序生成一些基本文档。过去它一直运行良好。昨天我通过应用程序从 Ruby 1.9.3 升级到 2.1.1,Rails 3.2 升级到 4.1。该应用程序一切正常,因此几周后我第一次去重新生成文档,但失败了。我运行上面的命令并收到以下错误消息:

rake aborted!                                                              
Don't know how to build task 'README.rdoc'                                 
/home/vagrant/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `eval'  
/home/vagrant/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => doc:app => doc/app/index.html                                
(See full trace by running task with --trace)

我相信这是 rake 为它不知道的任务提供的标准错误消息。就像我跑了

rake foo

它给出了确切的内容,但使用 'foo' 而不是 'README.rdoc'。我运行时得到相同的结果

bundle exec rake doc:app

我正在使用 rake 10.2.2。知道发生了什么吗?

【问题讨论】:

这表示文件 doc/README_FOR_APP 丢失。在迁移过程中,该文件可能已丢失。 rdoc 使用它作为主页,如果缺少它会抛出错误 文件 doc/README_FOR_APP 肯定在那里。我还创建了一个空白的 README.rdoc 文件,并尝试将 README_FOR_APP 更改为 README_FOR_APP.rdoc。执行上述任一操作后,错误消息均未发生变化。 你在更换ruby版本后完成bundle install了吗?那你有没有试过删除README.rdoc @Малъ Скрылевъ 我刚刚删除了整个 doc 文件夹,然后再次运行 rake doc:app,结果完全相同。 请再次阅读我的问题。 【参考方案1】:

项目根 文件夹中创建一个 README.rdoc。您可能已将其删除或替换为具有其他文件类型扩展名的 README。

【讨论】:

谢谢!那工作得很好。很高兴即使是这样的老问题也能不时得到解答。

以上是关于Rake doc:app 在升级到 Ruby 2.1.1 和 Rails 4.1 后失败的主要内容,如果未能解决你的问题,请参考以下文章

rake db rake 任务不工作 Ruby 2.4.0 & Rails 5.0.1

乘客错误在 Bluehost 共享主机上的任何源 (Bundler::GemNotFound) 中找不到 rake-11.3.0

Rails Guide -- Ruby on Rake

如何在 Ruby 脚本中运行 Rake 任务?

NoMethodError:升级到 rake 11 后未定义方法“last_comment”

Ruby on Rails:运行 rake 命令时出现错误消息