雷克到底是什么人?

时间:2009-04-07 08:59:53

标签: ruby-on-rails ruby rake

简单来说,Rake做什么?它有什么用途?我知道它是一个构建工具,但我看起来更详细一点。 (对于一个傻瓜。)

4 个答案:

答案 0 :(得分:67)

这些答案假设您了解DSL是什么,或熟悉Make或Ant。如果情况并非如此,那么这是一个(可能是过于简单的答案):

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

Rake在红宝石项目中可以downloaded and included作为红宝石。

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

我们将其称为“构建工具”,因为Rake附带了一些库,可以轻松完成构建/部署过程中常见的任务,例如file operations(创建,删除,重命名和移动)文件),通过FTP / SSHrunning tests发布网站。

有关详细信息,请参阅项目文档:http://rake.rubyforge.org/

答案 1 :(得分:51)

尝试Martin Fowler关于Rake的文章以获取更多信息:

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

他的前言是:

  

Rake是一种构建语言,类似于   制作和蚂蚁的目的。喜欢make和   蚂蚁它是一种领域特定语言,   与那两个不同,它是一个内部DSL   用Ruby语言编写。在   这篇文章我介绍了rake和   描述一些有趣的事情   我使用耙子来建造   这个网站:依赖模型,   合成任务,自定义构建   例程和调试构建   脚本。

项目主页上还有更多可用信息或链接:

http://rake.rubyforge.org/

答案 2 :(得分:11)

Rakedependency-based declarative programmingRuby Programming Language的实现。基本上,Rake对Ruby来说是Make对C的一个显着差异,即Make是一个外部DSL,而Rake是一个内部DSL。

答案 3 :(得分:7)

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