"rake"如何知道在哪里寻找Rakefiles?

Ave*_*ery 5 rake

我想更好地了解它是如何rake工作的.我已经在rake网站上查看它是如何工作的,但是对于如何rake搜索Rakefiles以及它在解决依赖关系中所采取的步骤没有明确的解释.有人可以解释一下rake有效吗?

tol*_*ius 17

默认情况下,rake将在您执行目录的目录下查找其中一个文件:

  • Rake文件
  • Rake文件
  • rakefile.rb
  • Rakefile.rb

您可以查看Rake的应用程序文档以查看此列表

此外,任何ruby文件(包括其他rakefiles)都可以包含在标准的Ruby require命令中:

require 'rake/loaders/external-rakefile'
Run Code Online (Sandbox Code Playgroud)

或者,你可以import:

import 'rake/loaders/external-rakefile'
Run Code Online (Sandbox Code Playgroud)

要从一个目录中创建一组Rake任务,请.rake在主目录中创建一个子目录,并在其中放置相应的Rake文件.任何带有该-g选项的rake命令都将使用这些全局Rake文件(在此处阅读更多内容):

rake -g -T
Run Code Online (Sandbox Code Playgroud)

另外,如果-g设置了选项,Rake将首先尝试加载文件格式的RAKE_SYSTEM环境变量,如果未设置,则默认为a home user directory/.rake/*.rake.除了上面列出的一个默认文件之外,还将加载/导入这些文件.

否则,它会载入第一个默认的文件(从上面的列表),并且还进口来自所有耙文件rakelib目录(在运行位置rake距离),也可以使用指定该目录:

--rakelibdir=RAKELIBDIR or -R RAKELIBDIR: Auto-import any .rake files in RAKELIBDIR. (default is 'rakelib')  
Run Code Online (Sandbox Code Playgroud)