81

简单来说,Rake 是做什么的?它有什么目的?我知道这是一个构建工具,但我正在寻找更多细节。

4

4 回答 4

76

这些答案假设您知道 DSL 是什么,或者熟悉 Make 或 Ant。如果不是这样,这里有一个(可能过于简单化的答案):

Rake是一个可以用于Ruby项目的工具。它允许您使用 ruby​​ 代码来定义可以在命令行中运行的“任务”。

Rake 可以作为 ruby​​ gem下载并包含在 ruby​​ 项目中。

安装后,您可以在添加到项目中的名为“ Rakefile ”的文件中定义任务。

我们称它为“构建工具”,因为 Rake 带有一些库,可以轻松完成构建/部署过程中常见的任务,例如文件操作(创建、删除、重命名和移动文件),通过FTP发布站点/ SSH,并运行测试

更多信息,这里是项目文档:http ://rake.rubyforge.org/

于 2013-11-29T16:41:48.317 回答
54

试试 Martin Fowler 关于 Rake 的文章了解更多信息:

http://martinfowler.com/articles/rake.html

他的序言是:

Rake 是一种构建语言,目的类似于 make 和 ant。与 make 和 ant 一样,它是一种特定于领域的语言,与这两种语言不同,它是一种用 Ruby 语言编程的内部 DSL。在这篇文章中,我介绍了 rake 并描述了我使用 rake 来构建这个网站的一些有趣的事情:依赖模型、综合任务、自定义构建例程和调试构建脚本。

项目主页上也有更多信息或链接:

http://rake.rubyforge.org/

于 2009-04-07T09:04:25.490 回答
12

Rake 允许您通过一个不错的命名空间 api 执行 Ruby 代码。一个例子是 rake db:migrate。您可以在其他任务之前和之后自动运行任务。就这些。

于 2009-04-07T09:21:20.863 回答
11

RakeRuby 编程语言中基于依赖的声明式编程的实现。基本上,Rake 之于 Ruby 就像Make之于 C 一样,有一个显着的区别,那就是 Make 是一个外部DSL,而 Rake 是一个内部 DSL。

于 2009-04-07T09:10:44.477 回答