81

簡単に言えば、Rakeは何をしますか?それにはどのような目的がありますか?ビルドツールであることは理解していますが、もう少し詳しく調べています。

4

4 に答える 4

76

これらの回答は、DSL とは何かを知っているか、Make や Ant に精通していることを前提としています。そうでない場合は、次のとおりです(おそらく非常に単純化された答えです):

Rakeは、 Rubyプロジェクトで使用できるツールです。コマンドラインで実行できる「タスク」を ruby​​ コードを使用して定義できます。

Rake は、ダウンロードしてruby​​ プロジェクトに ruby​​ gem として含めることができます。

インストールしたら、プロジェクトに追加する「 Rakefile 」という名前のファイルでタスクを定義します。

Rake には、ファイル操作(ファイルの作成、削除、名前変更、および移動)、 FTP経由のサイトの公開など、ビルド/デプロイ プロセス中に一般的なタスクを簡単に実行できるライブラリがいくつか付属しているため、これを「ビルド ツール」と呼んでいます。 / SSH、および実行中のテスト

詳細については、プロジェクトのドキュメントをご覧ください: http://rake.rubyforge.org/

于 2013-11-29T16:41:48.317 に答える
54

詳細については、Rakeに関するMartinFowlerの記事をお試しください。

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

彼の前文は次のとおりです。

Rakeはビルド言語であり、作成とアリの目的が似ています。makeやantのように、それはドメイン固有言語であり、これら2つとは異なり、Ruby言語でプログラムされた内部DSLです。この記事では、rakeを紹介し、このWebサイトを構築するために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

Rakeは、依存関係に基づく宣言型プログラミングRuby プログラミング言語で実装したものです。基本的に、Rake は Rubyにとっての Make とは C にとってのMakeと同じものですが、大きな違いは Make が外部DSLであるのに対し、Rake は内部 DSL です。

于 2009-04-07T09:10:44.477 に答える