插件 rake 任务多次运行 - 我们遗漏了什么?

这是指将任务添加到其中会得到相同的结果,还是指插件中已有的任务具有此行为?

在尝试理解我自己的插件中开发的任务为何被执行两次时,我测试了 Chat 插件中的一个现有任务,它也被执行了两次。

我也测试了其他插件的一些任务,但记不清是哪些了。有些执行了一次,但实现方式上没有明显区别。

也许这与自动加载有关?

在一个新的插件中,引擎包含这一行:

config.autoload_paths << File.join(config.root, "lib")

如果我不自动加载 lib 而是自动加载 lib/some_path 以避免自动加载 lib/tasks,情况似乎有所改善,但缺点是它会破坏自动加载(我在这里停了下来)。这可能会导致需要添加大量 require_relative 语句来弥补……