耙子流产了!错误:'rake / rdoctask'已过时且不再受支持

时间:2013-12-10 13:01:48

标签: ruby-on-rails ruby ruby-on-rails-3 rake

我在我的电脑上安装了rails 3.2.3但是对于我的新项目我需要在rails 3.0.5中工作所以我安装了3.0.5版本的rails,现在当我写任何rake命令时我得到以下错误

rake aborted! ERROR: 'rake/rdoctask' is obsolete and no longer supported. Use 'rdoc/task' (available in RDoc 2.4.2+) instead.

目前这个rake版本安装在我的电脑rake(10.1.0)

我知道错误说的一切都是红宝石和铁轨的新东西。所以我不明白该怎么做。我用谷歌搜索了它,但大多数解决方案要求更新rails

1 个答案:

答案 0 :(得分:0)

  

我知道错误说的一切都是红宝石和铁轨的新东西。所以我不明白该怎么做。我用谷歌搜索了它,但大多数解决方案要求更新rails

不幸的是,这是最好的解决方案。您正在使用基于当时某些约定的非常旧版本的Rails。 Rake已更改,10.0不再与Rails版本兼容。

您应该安装以前的rake版本。 0.9.0就足够了。 在你的Gemfile集中

gem 'rake', '0.9.0'

然后运行$ bundle。确保使用

为每个命令添加前缀
bundle exec

,例如

bundle exec rake -T

而不是

rake -T

否则脚本将使用您计算机上最新版本的Rails再次退回。

供您参考,错误的原因可能是documentation.rake文件引起的,该文件最初包含已弃用的rake文件,已在GH-1301中删除。

请记住,假设应用程序将运行,您的第一个目标应该是升级您的应用。事实上,如果你试图按原样使用它,你可能会遇到很多其他的不兼容性。

调试起来相当简单(假设你对Ruby和Rails内部有一定的了解),但其他人可能更难甚至不可能修复,只能升级你。