Tarefa Gulp falhando ao executar a partir do VS 2015 Task Runner explorer, mas não no prompt de comando
eu tenho algunsGulp
tarefas para fazer o típicoclean
, build
, release
ações para um site. Nada particularmente incomum em minha mente.(De fato, é muito semelhante ao esqueleto Aurelia TypeScript.)
A maioria da equipe faz desenvolvimento front-end usandoGulp
em um prompt do PowerShell / Command e edição com VS Code / Sublime. Alguns membros da equipe fazem o mesmo usando o Visual Studio 2015.
Executando obuild
A tarefa no prompt de comando funciona muito bem, mas se a executarmos no Gerenciador de Tarefas do Visual Studio, ocorrerá um erro.
No entanto, executar as outras tarefas (por exemplo,clean
) funciona bem no prompt de comando e no VS Task Runner Explorer.
Curiosamente, o explorador do Task Runner produz uma cópia do processo que ele invoca para executar a tarefa. Se eu copiar esse comando exato (veja abaixo) e executá-lo em um prompt de comando, ele faránão dê o erro. Isso só acontece quando executado no Task Runner Explorer, e somente nessa tarefa.
Aqui está a linha de comando da tarefa e a saída de erro relacionada do 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)
Meu Google-Fu ficou vazio na mensagem de erro / rastreamento de pilha ou pesquisas relacionadas.
O que da?
ATUALIZAÇÃO: conforme @ josh-graham, a versão do Node que está sendo chamada pelo VS está listada abaixo.
[10:12:48] Starting 'clean'...
Version: v0.10.31
[10:12:48] Finished 'clean' after 42 ms