Task Runner Explorer nie może załadować zadań

Używam VS2015 i Gulp. Otwieram Task Runner Explorer i wciskam refresh, a to pojawia się w dzienniku:

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)

Więc staram się uruchomić cmd.exe /c gulp --tasks-simple w PowerShell, w tym samym katalogu, i działa dobrze-zwraca listę zadań.

Jestem również w stanie uruchomić moje zadania związane z SASS dobrze, więc nie jestem pewien, dlaczego to jest narzekanie na SASS, gdy jest uruchamiany przez VS, ale nie bezpośrednio w linii poleceń.

Author: Josh M., 2015-07-08

5 answers

Ostatnio miałem ten sam problem z migracją z VS2013.

Jak zauważył Josh w swoim komentarzuTutaj Visual Studio 2015 dostarcza starszą wersję Node. Jeśli nie chcesz utknąć z dowolną wersją węzła wbudowaną w Visual Studio, możesz powiedzieć mu, aby używał wersji, którą już zainstalowałeś.

  • przejdź do: Narzędzia > Opcje > projekty i rozwiązania > zewnętrzne narzędzia internetowe
  • Zmień kolejność tak, że $(PATH) jest powyżej $(DevEnvDir)\Extensions\Microsoft\Web Tools\External

To także dotyczy innych narzędzi, takich jak Grunt, Bower i Gulp.

To rozwiązanie znalazł Mads Kristensen tutaj .

Dla Visual Studio 2017 możemy znaleźć oprawę na
Tools > Options > Projects and Solutions > Web Package Management > External Web Tools

 314
Author: M1Les,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-22 17:00:06

Wygląda na to, że gulp-sass przeszukuje węzeł-sass w innym miejscu. Oto tymczasowe rozwiązanie.

  1. Utwórz nowy katalog o nazwie win32-ia32-11 wewnątrz c:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\vendor\

  2. Goto https://github.com/sass/node-sass-binaries i pobierz win32-ia32-11_binding.węzeł.

  3. Skopiuj win32-ia32-11_binding.plik węzła do c:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-ia32-11\ I zmienić jej nazwę na wiążącą.node

Visual Studio Gulp - Task Runner

 7
Author: tansu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-08 21:23:51

Próbowałem wszystkich powyższych rozwiązań, ale to nie działa i znalazłem inne rozwiązanie tutaj .

Musisz wymusić uruchomienie Visual Studio z węzłem.wersja js:

  1. idź do Tools > Options w Visual Studio 2015
  2. idź do Projects and Solutions > External Web Tools
  3. dodaj następującą ścieżkę: C:\Program Files\nodejs
 2
Author: Alex Nguyen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-21 05:16:30

Jedynym rozwiązaniem, które rozwiązało mój problem, była ponowna instalacja npm Task Runner. Można go pobrać z poniższego linku pod adresem marketplace.
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.NPMTaskRunner

 0
Author: Mohsen Sarkar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-27 08:46:26

Node-sass uruchamia skrypt instalacyjny, aby pobrać wymagany plik binarny. Jeśli nie ma zmiennych środowiskowych, .zmienne npmrc lub argumenty procesu ustawiane wtedy binarny jest określony przy użyciu bieżącej platformy procesu, architektury i wersji węzła ABI. Dlatego, jeśli uruchomisz node install w jednej aplikacji, a następnie spróbujesz uruchomić node-sass w aplikacji z inną platformą/architekturą / ABI, plik binarny nie zostanie pobrany. Rozwiązaniem jest ręczne pobranie pliku binarnego lub popraw wersję binarną za pomocą zmiennej środowiskowej (SASS_BINARY_NAME) lub a .npmrc zmienna (sass_binary_name)

Możesz zobaczyć logikę tego w funkcji getBinaryPath w node-sass\lib \ extensions.js

Zobacz także: Node Sass nie może znaleźć powiązania dla bieżącego środowiska

 0
Author: Tevin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:03:09