How do I run grunt from a different folder than my root project

zuniga picture zuniga · Feb 14, 2013 · Viewed 21.5k times · Source

Is there a way to tell grunt which grunt.js file to use?

I have an f:\a\b\tools folder that contains grunt.cmd, node.exe,..., my actual web app with GruntFile.js and all the local node_modules is in f:\a\c\my_app

Running grunt from a\c\my_app works fine but trying to run grunt from some other folder say a does not seem to work. I am new to grunt and may be I am missing something obvious.

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

Answer

Renan Ivo picture Renan Ivo · Dec 2, 2013

You can set two parameters --base and --gruntfile

From grunt --help:

--base Specify an alternate base path. By default, all file paths are relative to the Gruntfile. (grunt.file.setBase) *

--gruntfile Specify an alternate Gruntfile. By default, grunt looks in the current or parent directories for the nearest Gruntfile.js or Gruntfile.coffee file.

So, you can execute:

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