2013-02-14 10 views
29

Czy istnieje sposób, aby powiedzieć, który plik grunt.js użyć?Jak uruchomić grunt z innego folderu niż mój projekt główny

mam folder f:\a\b\tools zawierający grunt.cmd, node.exe,..., moją rzeczywistą aplikację GruntFile.js i wszystkie lokalne node_modules jest w f:\a\c\my_app

Running chrząknięcie od a\c\my_app działa prawidłowo, ale próbuje uruchomić chrząknięcie z innego folderu, powiedzmy robi wydaje się nie działać. Jestem nowy, by chrząkać i być może brakuje mi czegoś oczywistego.

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

Odpowiedz

54

można ustawić dwa parametry --base i --gruntfile

Od grunt --help:

--base określić alternatywną ścieżkę bazową. Domyślnie wszystkie ścieżki plików odnoszą się do pliku Gruntfile. (grunt.file.setBase) *

--gruntfile Podaj alternatywny plik Gruntfile. Domyślnie polecenie grunt wygląda w bieżących lub macierzystych katalogach dla najbliższego pliku Gruntfile.js lub Gruntfile.coffee.

Tak, można wykonać:

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

FWIW, użycie '--base' nie działało dla mnie, ale użyłem' --gruntfile'. –

+1

Jak to ustawić jako "domyślne"? Mamy ogólny plik Grunt, który może być używany we wszystkich naszych aplikacjach, więc chcemy go w folderze (module podmodułowym), ale chcemy po prostu uruchomić wszystko, po prostu wywołując pomruk, zamiast wpisywać --gruntfile za każdym razem. – WORMSS

+0

Wygląda na to, że nie działa z plikiem zegarka. Pierwsze uruchomienie jest OK, ale kiedy zegarek uruchamia bieg, ścieżka jest podwójna i powoduje błędy: 'nie można znaleźć pliku gruntowego" c \ my_app \ c \ my_app \ gruntfile.js "' – NDM

0

Ja radzę, aby go uruchomić z katalogu aplikacji, ponieważ moduły są zainstalowane w nodes_modules itp należy przenieść do katalogu aplikacji i uruchom chrząknięcie:

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

określając '--base' parametr można się go pozbyć. zobacz odpowiedź @ Renana. –

Powiązane problemy