7

Rails 3では、バンドラーを呼び出すので、アプリのGemfile環境で実行する必要rails sはありませんbundle exec rails sか、実行する必要がありますか?bundle execrails s

更新bundle execレーキのバージョンが異なるため、レーキタスクの前に使用する必要があることを 理解してい詳細については、 http://railsapps.github.com/installing-rails-3-1.htmlを参照してください。この質問は、次のようなrailsスクリプトに関するものです。

rails s
rails server
rails c
rails console

^bundle execこれらのrailsスクリプトの前に使用する必要がありますか、それともbundleはrailsコマンドによって呼び出されますか?

4

2 に答える 2

9

Rail> = 3.1でこの動作を取得する必要がありますが、古いバージョンのrakeを使用している可能性があるため、注意が必要です。

rakeの代わりにコマンドbundleexecrakeを使用することをお勧めします。これにより、デフォルトバージョンの代わりに、gemfileで指定されたバージョンのRake(またはGemfile.lockファイルで指定された依存関係)を使用します。たとえば、rake db:migrateの代わりに、bundle exec rake db:migrateを実行します。

知っておくべきこと:Rails 3.1をインストールする前に、gem updaterakeでRake0.9.2.2(またはそれ以降)を使用していることを確認してください。そして、rakeの代わりにbundleexecrakeを使用します。

引用元:http://railsapps.github.com/installing-rails-3-1.html

これは、railsコマンドの場合とは逆のように見えます。

railsコマンドの前にbundleexecを実行しないでください。railsは、Gemfileを介してBundlerの存在をすでにチェックし、bundleexecのオーバーヘッドなしでそれに応じてすべてをセットアップします。railsコマンドはルールの唯一の例外です。

引用元:https ://www.wyeworks.com/blog/2011/12/27/bundle-exec-rails-executes-bundler-setup-3-times/

于 2012-07-23T17:16:16.127 に答える
0

http://bundler.io/v1.5/rails3.html-「Rails3には、bundlerのサポートが組み込まれています... Bundlerは依存関係を透過的に管理しています!」したがって、サーバーを実行するだけです

rails server
于 2013-11-13T18:36:08.840 に答える