Web サイトの典型的な、、、アクションを実行するいくつかのGulp
タスクがあります。私の心には特に珍しいことは何もありません。(実際、Aurelia TypeScript スケルトンに非常に似ています。)clean
build
release
Gulp
チームのほとんどは、PowerShell / コマンド プロンプトを使用し、VS Code / Sublime を使用して編集するフロントエンド開発を行っています。チームの一部は、Visual Studio 2015 を使用して同じことを行っています。
コマンド プロンプトからタスクを実行build
すると問題なく動作しますが、Visual Studio の Task Runner Explorer から実行するとエラーが発生します。
ただし、他のタスク (例: clean
) の実行は、コマンド プロンプトと VS Task Runner Explorer の両方から問題なく機能します。
興味深いことに、タスク ランナー エクスプローラーは、タスクを実行するために呼び出すプロセスのコピーも出力します。その正確なコマンド(以下を参照)をコピーしてコマンドプロンプトで実行すると、エラーは発生しません。Task Runner Explorer から実行した場合にのみ発生し、その 1 つのタスクのみが発生します。
タスク ランナー エクスプローラーからのタスク コマンド ラインと関連するエラー出力を次に示します。
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)
エラー メッセージ / スタック トレースまたは関連する検索で、Google-Fu が空になりました。
何を与える?
更新: @josh-graham によると、VS によって呼び出される Node のバージョンは以下のとおりです。
[10:12:48] Starting 'clean'...
Version: v0.10.31
[10:12:48] Finished 'clean' after 42 ms