2013-02-14 6 views
29

grunt.jsファイルを使用する方法を教えてください。ルートプロジェクト以外のフォルダからgruntを実行するには

私はgrunt.cmd, node.exe,...が含まれているf:\a\b\toolsフォルダがあり、GruntFile.jsとすべてのローカルnode_modulesと 私の実際のウェブアプリはf:\a\c\my_app

であるa\c\my_appからイサキを実行すると、正常に動作しますが、いくつかの他のフォルダからイサキを実行しようとすると、DOEのを言います動作していないようです。私はしつこいために新しいですし、私は何かが明らかでないことがあります。

f:\a>grunt --config c\GruntFile.js 

grunt-cli: The grunt command line interface. (v0.1.6)

Fatal error: Unable to find local grunt.

If you're seeing this message, either a Gruntfile wasn't found or grunt hasn't been installed locally to your project. For more information about installing and configuring grunt, please see the Getting Started guide:

http://gruntjs.com/getting-started

答えて

54

次の2つのパラメータ--base--gruntfile

を設定することができます grunt --help

より:

--base代替ベースパスを指定します。デフォルトでは、すべてのファイルパスはGruntfileを基準にしています。 (grunt.file.setBase)*

--gruntfile代替Gruntfileを指定します。デフォルトでは、gruntはカレントまたは親のディレクトリ内で最も近いGruntfile.jsまたはGruntfile.coffeeファイルを探します。

だから、あなたが実行することができます。

grunt --base c\my_app --gruntfile c\my_app\GruntFile.js mytask 
+5

FWIW、 '--base'を使っても動作しませんでしたが、' --gruntfile'を使用しました。 –

+1

これを「デフォルト」としてどのように設定できますか?すべてのアプリケーションで使うことができるGeneric Gruntファイルがありますので、フォルダ(サブモジュール)に入れたいのですが、毎回--gruntfileをタイプするのではなく、gruntを呼び出すだけですべてを実行したいだけです。 – WORMSS

+0

これは時計ファイルでは動作しません。最初の実行はOKですが、ウォッチが実行をトリガーすると、パスは倍になり、エラーが出力されます: 'gruntfile"を見つけることができません "c \ my_app \ c \ my_app \ gruntfile.js" – NDM

0

モジュールがインストールされているので、私はあなたがあなたのアプリケーションのディレクトリに移動し、イサキを実行する必要があります などnodes_modules、にアプリのディレクトリからそれを実行するように助言されます:

cd f: 
cd a\c\my_app 
grunt {yourTasks} 
+0

あなたはそれを取り除くことができます '--base'パラメータを指定することによって。 @ Renanの答えを見てください。 –

関連する問題