bundle exec rake とはどういう意味ですか? 質問する

bundle exec rake とはどういう意味ですか? 質問する

どういうbundle exec rake db:migrate意味ですか?それともbundle exec rake <command>一般的な意味ですか?

bundleGemfile 内の管理はこれで処理されることを理解しています。「exec」という言葉の意味も知っています。rake実行できるさまざまなスクリプトをすべて管理することは理解していますし、それがdb:migrateその 1 つであることも知っています。これらすべての単語が一緒に何をするのかはわかりません。データベースの移行を実行するために、 bundleexecute を使用する必要があるのはなぜですかrake?

ベストアンサー1

bundle execバンドラー現在のバンドル(ディレクトリのバンドル)のコンテキストでスクリプトを実行するコマンドジェムファイル) はrake db:migrateスクリプトであり、dbは名前空間、migrate は定義されたタスク名です。

したがって、現在のバンドルのコンテキストでbundle exec rake db:migrateコマンドを使用して rake スクリプトを実行します。db:migrate

「なぜ?」については、バンドラーページ:

場合によっては、実行可能ファイルがbundle execシステムにインストールされていて、バンドルと競合する gem が取り込まれない場合は、実行可能ファイルを実行しても機能することがあります。

しかし、これは信頼性が低く、かなりのトラブルの原因となります。動作しているように見えても、将来または別のマシンでは動作しない可能性があります。

おすすめ記事