简单来说,Rake做什么?它有什么用途?我知道它是一个构建工具,但我看起来更详细一点。 (对于一个傻瓜。)
答案 0 :(得分:67)
这些答案假设您了解DSL是什么,或熟悉Make或Ant。如果情况并非如此,那么这是一个(可能是过于简单的答案):
Rake是一个可以与Ruby项目一起使用的工具。它允许您使用ruby代码来定义可以在命令行中运行的“任务”。
Rake在红宝石项目中可以downloaded and included作为红宝石。
安装完成后,您可以在添加到项目中的名为“Rakefile”的文件中定义任务。
我们将其称为“构建工具”,因为Rake附带了一些库,可以轻松完成构建/部署过程中常见的任务,例如file operations(创建,删除,重命名和移动)文件),通过FTP / SSH和running tests发布网站。
有关详细信息,请参阅项目文档:http://rake.rubyforge.org/
答案 1 :(得分:51)
尝试Martin Fowler关于Rake的文章以获取更多信息:
http://martinfowler.com/articles/rake.html
他的前言是:
Rake是一种构建语言,类似于 制作和蚂蚁的目的。喜欢make和 蚂蚁它是一种领域特定语言, 与那两个不同,它是一个内部DSL 用Ruby语言编写。在 这篇文章我介绍了rake和 描述一些有趣的事情 我使用耙子来建造 这个网站:依赖模型, 合成任务,自定义构建 例程和调试构建 脚本。
项目主页上还有更多可用信息或链接:
答案 2 :(得分:11)
Rake是dependency-based declarative programming中Ruby Programming Language的实现。基本上,Rake对Ruby来说是Make对C的一个显着差异,即Make是一个外部DSL,而Rake是一个内部DSL。
答案 3 :(得分:7)
Rake允许您通过一个漂亮的命名空间api执行Ruby代码。一个例子是rake db:migrate。您可以在其他任务之前和之后自动运行任务。就是这样。