Ich habe einige Gulp
Aufgaben die typischen clean
, build
, release
Aktionen für eine Website zu tun. Nichts besonders ungewöhnlich in meinem Kopf. (In der Tat ist es sehr ähnlich wie Aurelia Typoskript Skelett.)Gulp Aufgabe versagt, wenn sie von VS 2015 Task-Runner-Explorer laufen, aber nicht über die Eingabeaufforderung
Großteil des Teams hat Front-End-Entwicklung mit Gulp
aus einer Powershell/Eingabeaufforderung und Bearbeitung mit VS-Code/Sublime. Ein Teil des Teams verwendet dasselbe Visual Studio 2015.
Das Ausführen der build
Aufgabe von der Eingabeaufforderung funktioniert einwandfrei, aber wenn wir es von Visual Studio Task Runner Explorer ausführen, gibt es uns einen Fehler.
Die Ausführung der anderen Aufgaben (z. B. clean
) funktioniert jedoch einwandfrei von der Eingabeaufforderung und dem VS Task Runner Explorer.
Interessanterweise gibt der Task Runner-Explorer sogar eine Kopie des Prozesses aus, der zum Ausführen der Task aufgerufen wird. Wenn ich diesen genauen Befehl (siehe unten) kopiere und das in einer Eingabeaufforderung ausführe, gibt es nicht den Fehler geben. Es passiert nur, wenn es vom Task Runner Explorer ausgeführt wird, und nur diese eine Aufgabe.
Hier ist die Aufgabe Befehlszeile und die damit verbundene Fehlerausgabe aus dem Task-Runner Explorer:
cmd.exe /c gulp -b "D:\Development\xxxx\WebSite" --color --gulpfile "D:\Development\xxxx\WebSite\Gulpfile.js" build
[20:40:42] Using gulpfile D:\Development\xxxx\WebSite\Gulpfile.js
[20:40:42] Starting 'build'...
[20:40:42] Starting 'clean'...
[20:40:42] Finished 'clean' after 5.74 ms
[20:40:42] Starting 'build-system'...
[20:40:42] Starting 'build-html'...
[20:40:42] Starting 'build-css'...
[20:40:42] Finished 'build-css' after 31 ms
[20:40:43] Finished 'build-html' after 162 ms
D:\Development\xxxx\WebSite\node_modules\gulp-tsb\lib\builder.js:153
var newLastBuildVersion = new Map();
^
ReferenceError: Map is not defined
at Object.build (D:\Development\xxxx\WebSite\node_modules\gulp-tsb\lib\builder.js:153:39)
at Stream.<anonymous> (D:\Development\xxxx\WebSite\node_modules\gulp-tsb\lib\index.js:40:22)
at _end (D:\Development\xxxx\WebSite\node_modules\through\index.js:65:9)
at Stream.stream.end (D:\Development\xxxx\WebSite\node_modules\through\index.js:74:5)
at DestroyableTransform.onend (D:\Development\xxxx\WebSite\node_modules\readable-stream\lib\_stream_readable.js:545:10)
at DestroyableTransform.g (events.js:180:16)
at DestroyableTransform.emit (events.js:117:20)
at endReadableNT (D:\Development\xxxx\WebSite\node_modules\readable-stream\lib\_stream_readable.js:960:12)
Process terminated with code 8.
at afterTick (D:\Development\xxxx\WebSite\node_modules\process-nextick-args\index.js:18:8)
at process._tickCallback (node.js:419:13)
Mein Google-Fu auf der Fehlermeldung/Stack-Trace oder verwandte Suchanfrage leer gekommen ist.
Was gibt?
UPDATE: Laut @ josh-graham ist die Version von Node, die von VS aufgerufen wird, unten aufgeführt.
[10:12:48] Starting 'clean'...
Version: v0.10.31
[10:12:48] Finished 'clean' after 42 ms
Ha-ha ... wird dies gleichzeitig passieren! Danke für die klare Antwort. Ich überarbeite die richtige Antwort. Auch das Bild ist noch einfacher zu folgen als Mads Post. – Jaans
Für Google, ich bekam diesen Fehler: Node Sass konnte keine Bindung für Ihre aktuelle Umgebung finden: Windows 32-Bit mit Node.js 5.x – dwbartz
Dies gilt auch für die neu veröffentlichte Visual Studio 2017. –