使用包含Rake :: DSL的10.0.1中的Rake脚本破坏了

时间:2012-11-21 10:31:54

标签: ruby rake

我有许多包含公共模块的rake文件:

require 'rake'

module RakeCommon
  include Rake::DSL
  task :clean do

在rake文件中:

include RakeCommon

问题是在更新到rake 10.0.1之后,我收到以下错误:

undefined method `task' for RakeCommon:Module

1 个答案:

答案 0 :(得分:1)

就像我在评论中所述,但只是检查了它。

您应该在模块中使用extend代替include。您的代码之前工作正常,因为Rake::DSL模块正在扩展Object。您使用的方法在模块中可用,无论您是否正确包含或扩展它。在10.0分支中删除了一些已弃用的东西,这就是为什么它不起作用。