2017-02-15 7 views
0

私のRakefileには、bundlerとともにインストールされている特定の依存関係が必要です。したがって、Rakefileを実行する正しい方法はbundle exec rakeです。`rake test`が自動的に` bundle exec rake test`を呼び出します

しかし、誰かが誤ってrakeでそれを実行すると確信しています。だから我々は、先頭に追加しました:スクリプトではなく、任意の追加のコマンドライン引数でbundle exec rakeとしての地位をreran場合、それは多くの参考になるしかし

abort('fatal: Please run this using `bundle exec rake`') unless ENV["BUNDLE_BIN_PATH"] 

。これはどうすればいいですか? bundlerがインストールされていないと正常に失敗した場合のボーナスポイント。

+0

これは答えではありませんが、 'bundle exec 'の理由は決してありません。 RVMまたはrbenvとgemsetsを使用すると、人生ははるかに簡単になります。 –

+1

@JimStewartあなたが上流に泳ぐのを楽しむなら、Rubyはおそらくあなたのためではありません。ルビーマネージャーでさえ、あなたにはあなたに同意しないことをお勧めします。 – coreyward

+0

@JimStewart議論の的になった考えを共有してくれてありがとう。このことについてもっと学ぶための出発点を教えてください。 –

答えて

1

使用binstubs

  1. 実行bundle binstubs rake代わりrake

の使用bin/rake

  • プロジェクトのルートにあなたはもはやあなたのコマンドの前に bundle execを入力して心配する必要があります。必要なセットアップは、コマンドラインで手動で何も起動しなくても実行できます。 binstubファイルを簡単に変更することができ、プロジェクト固有です。

    最後に、bin/rakeと入力しすぎると、brakeなどの短いエイリアス、またはエッジに生きたい場合はalias rake='bin/rake'となります。

    0

    私は@coreywardが答えを持っていると思いますが、あなたはジャムに入る場合は、可能性が常にalias rake='bundle exec rake'それはおそらく別の日にトラブルにあなたを取得します。

    関連する問題