简单来说,Rake 是做什么的?它有什么目的?我知道这是一个构建工具,但我正在寻找更多细节。
4 回答
这些答案假设您知道 DSL 是什么,或者熟悉 Make 或 Ant。如果不是这样,这里有一个(可能过于简单化的答案):
Rake是一个可以用于Ruby项目的工具。它允许您使用 ruby 代码来定义可以在命令行中运行的“任务”。
Rake 可以作为 ruby gem下载并包含在 ruby 项目中。
安装后,您可以在添加到项目中的名为“ Rakefile ”的文件中定义任务。
我们称它为“构建工具”,因为 Rake 带有一些库,可以轻松完成构建/部署过程中常见的任务,例如文件操作(创建、删除、重命名和移动文件),通过FTP发布站点/ SSH,并运行测试。
更多信息,这里是项目文档:http ://rake.rubyforge.org/
试试 Martin Fowler 关于 Rake 的文章了解更多信息:
http://martinfowler.com/articles/rake.html
他的序言是:
Rake 是一种构建语言,目的类似于 make 和 ant。与 make 和 ant 一样,它是一种特定于领域的语言,与这两种语言不同,它是一种用 Ruby 语言编程的内部 DSL。在这篇文章中,我介绍了 rake 并描述了我使用 rake 来构建这个网站的一些有趣的事情:依赖模型、综合任务、自定义构建例程和调试构建脚本。
项目主页上也有更多信息或链接:
Rake 允许您通过一个不错的命名空间 api 执行 Ruby 代码。一个例子是 rake db:migrate。您可以在其他任务之前和之后自动运行任务。就这些。
Rake是Ruby 编程语言中基于依赖的声明式编程的实现。基本上,Rake 之于 Ruby 就像Make之于 C 一样,有一个显着的区别,那就是 Make 是一个外部DSL,而 Rake 是一个内部 DSL。