2016-10-22 8 views
0

私はRVMがRuby Version Managerの略で、プロジェクト間でのRubyのバージョン管理に役立つことを知っています。Rubyでは、RVM、Bundler、Rakeの違いは何ですか?

しかし、コマンド、プログラム、またはタスクを何度か実行しているときには、rakeを使用し、時にはbundleを使用することもあります。

+0

「正確に」?彼らはまったく異なる3つの仕事をしています。ドキュメントを読むと、その違いと目的がすぐにわかります。 –

答えて

1

違いは、目標が異なる3つの別々のプロジェクトだということです。

自分で説明したRVM。

bundleは、 "gem"の依存関係のセットを処理するBundlerです。プロジェクトの正しいバージョンをインストールし、依存関係を更新するなど。

rakeRakeです。これは一般的なビルドツールで、通常はテストの実行などに使用されます。

一部のエコシステムには、これらの両方をカバーする単一のツール(依存関係の管理と他のタスクの実行)があります。たとえば、Elixirエコシステムでは、「Mix」ツールは両方を実行します。 Rubyでは、これらは別々のツールになります。

+0

答えをいただきありがとうございます。私はこれを求めているのですが、私はElixirを勉強しています.Mixについて学ぶと、Rubyは2つの別々のライブラリでこれを行います。しかし、私はCucumberを使ってRubyを使って作業しています。あなたはrakeではなくbunldeを使ってテストを実行し、他のテストライブラリではrakeを使用します。 –

+1

'bundle exec'を使ってタスクを実行します。これは、バンドルのコンテキスト内でどのコマンドが実行されたとしても実行されます。それはあなたが実行しているものが正しい宝石のバージョンを持っていることを保証します。 http://stackoverflow.com/questions/6588674/what-does-bundle-exec-rake-mean – max

関連する問題