2014-09-08 8 views
10

Sie können hier den vollständigen Code/klonen: https://github.com/mlewisTW/grunt-testsGrunt: Fatal error: watch EPERM

I Uhr das src Verzeichnis möchten (minify, concat, weniger, usw.), die alles macht in die build dir. Ich würde auch gerne Uhr die build dir, um Liveload. Hier ist die Uhr Config-Schnipsel:

watch: { 
     options: { 
      livereload: false 
     }, 
     build: { 
      files: ['<%= srcDir %>/**/*'], 
      tasks: 'build' 
     }, 
     reload: { 
      files: ['<%= buildDir %>/**/*'], 
      options: { 
       livereload: true 
      } 
     } 
    }, 

Ich bin auf Windows 8. Ich erhalte ein Fatal error: watch EPERM wenn ich eine Datei zu ändern, und es beginnt die erste Stufe der build Aufgabe (sauber). Ich vermute, das hat etwas damit zu tun, dass ich versuche, ein überwachtes Verzeichnis zu löschen.

Gibt es eine Möglichkeit, die Liveload-Watch-Task zu deaktivieren, wenn ich sie erstelle, und sie dann neu zu starten, wenn sie fertig ist?

Gibt es einen anderen/besseren Weg, dies zu tun?

+0

Haben Sie jemals eine Lösung gefunden? Ich habe das gleiche Problem. –

+0

https://github.com/angular-app/angular-app/issues/163 -> es scheint ein "zufälliges" Windows-Problem, nach diesem Problem nach dem ersten Mal, eine zweite "Grunt Watch" löst das Problem. Kannst du es versuchen? Sonst könnte es etwas mit Erlaubnis zu tun haben, läuft deine Shell/git shell/etw im Administrationsmodus? –

+0

El Capitan erfährt dies auch, einige haben aufgrund der wurzellosen Änderung gesagt, wo/usr/bin nicht mehr beschreibbar ist. Bist du auf El Capitan? – beta208

Antwort

1

EPERM unter Windows bedeutet, dass Sie eine Datei löschen oder in eine Datei schreiben können.

Es ist normalerweise, weil ein anderer Prozess ein Handle zu der Datei hält.

Manchmal geschieht dies ein wenig zufällig mit NodeJS unter Windows. Ich finde es in Ordnung, wenn Sie es ein zweites Mal laufen.