1. ホーム
  2. visual-studio

[解決済み] タスクランナーエクスプローラーでタスクが読み込めない

2022-12-23 02:36:58

質問

VS2015 と Gulp を使用しています。タスクランナーエクスプローラーを開いて更新を押すと、ログにこのように表示されます。

Failed to run "C:\Projects\Test\Gulpfile.js"...
cmd.exe /c gulp --tasks-simple
Error: `libsass` bindings not found in C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-ia32-11\binding.node. Try reinstalling `node-sass`?
    at Object.sass.getBinaryPath (C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\lib\extensions.js:148:11)
    at Object.<anonymous> (C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\lib\index.js:16:36)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (C:\Projects\Test\node_modules\gulp-sass\index.js:163:21)
    at Module._compile (module.js:456:26)

そこで cmd.exe /c gulp --tasks-simple を PowerShell で実行してみると、正常に動作し、タスクのリストが返されます。

SASS関連のタスクも問題なく実行できます。VS経由で実行され、コマンドラインで直接実行されない場合、なぜこれがSASSについて文句を言うのかわかりません。

どのように解決するのですか?

最近、VS2013から移行して同じ問題が発生しました。

Josh が彼のコメントで指摘したように ここで Visual Studio 2015 には、古いバージョンの Node が同梱されています。Visual Studio に組み込まれている Node のどのバージョンでも困らないように、すでにインストールされているバージョンを使用するように指示することができます。

  • に移動します。ツール > オプション > プロジェクトとソリューション > 外部 Web ツール
  • 次のように並べ替えます。 $(PATH) が上になるように並べます。 $(DevEnvDir)\Extensions\Microsoft\Web Tools\External

これはGrunt、Bower、Gulpのような他のツールにも当てはまります。

Mads Kristensen氏によるこの解決策を見つけました。 ここで .

<ブロッククオート

Visual Studio 2017の場合、設定箇所を

Tools > Options > Projects and Solutions > Web Package Management > External Web Tools