2013-07-26 6 views
21

Gruntタスク内からMongoDBを起動することはできますか?基本的に私が開発環境をgrunt serverで実行しているときに、おそらくmongodを実行してMongoDBサーバーを起動したいと思っています。Gruntタスク内からMongoDBを起動する

+0

申し訳ありません@シンドレサスス、私はこれ以来、これまでの仕事に戻っていません。答えは現在受け入れられています。 – claydiffrient

+0

grunt-shellがブロックされているため、このコマンドは残りのビルドステップをハングアップします。 – JJJ

答えて

20

このコマンドを実行するためにgrunt-shellを使用することができます。

grunt.initConfig({ 
    shell: { 
     mongo: { 
      command: 'mongod' 
     } 
    } 
}); 
39

これを行うには、grunt-shell-spawnを使用することができます。前の回答は、他のタスクの実行をブロックするメインプロセスで同期的に実行されるgrunt-shellを推奨しています。

shell: { 
    mongo: { 
     command: 'mongod', 
     options: { 
      async: true 
     } 
    } 
} 
23

あなたは、各プロジェクトは、それはあなたがこれを行うと、それ自身のデータと独自のMongoDBインスタンスのしていることを確認したい場合はgrunt-shell-spawnを使用して、JJJの答えに追加するには:

shell: { 
    mongodb: { 
     command: 'mongod --dbpath ./data/db', 
     options: { 
      async: true, 
      stdout: false, 
      stderr: true, 
      failOnError: true, 
      execOptions: { 
       cwd: '.' 
      } 
     } 
    } 
}, 

例だけ出力しますエラー。

それからちょうど、あなたのgrunt serverタスクリスト(好ましくは最初のタスク)にshell:mongodbを追加(あなたはgitのを使用していると仮定して)あなたの.gitignoredataを追加し、あなたが行ってもいいですでしょう。

+0

私が持っているデフォルトのmongoの設定では、最初のディレクトリマークなしで '/ data/db'というdbパスを使いました。これ以外にも、これはJJJの素晴らしい答えに大きな追加です。 – Scott

関連する問題