visual studio - Task Runner Explorer no puede cargar tareas
visual-studio gulp (5)
He intentado todas las soluciones anteriores pero no funciona y encontré otra solución here .
Debe forzar la ejecución de Visual Studio con su versión de Node.js:
-
Vaya a
Tools
>Options
en Visual Studio 2015 -
Vaya a
Projects and Solutions
>External Web Tools
-
Agregue la siguiente ruta:
C:/Program Files/nodejs
Estoy usando VS2015 y Gulp. Abro el Explorador de Task Runner y presiono actualizar, y esto aparece en el registro:
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)
Así que trato de ejecutar
cmd.exe /c gulp --tasks-simple
en PowerShell, en el mismo directorio, y funciona bien, devuelve una lista de tareas.
También puedo ejecutar mis tareas relacionadas con SASS muy bien, así que no estoy seguro de por qué esto se queja de SASS cuando se ejecuta a través de VS pero no directamente en la línea de comandos.
La única solución que resolvió mi problema fue reinstalar NPM Task Runner.
Puede descargarlo desde el siguiente enlace en marketplace.
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.NPMTaskRunner
Parece que gulp-sass busca node-sass en una ubicación diferente. Aquí hay una solución temporal.
-
cree un nuevo directorio llamado win32-ia32-11 dentro de c: / Projects / Test / node_modules / gulp-sass / node_modules / node-sass / vendor /
-
Vaya a https://github.com/sass/node-sass-binaries y descargue win32-ia32-11_binding.node.
-
Copie el archivo win32-ia32-11_binding.node en c: / Projects / Test / node_modules / gulp-sass / node_modules / node-sass / vendor / win32-ia32-11 / y cámbiele el nombre a binding.node
Tuve el mismo problema al migrar de VS2013 recientemente.
Como Josh señaló en su comentario here Visual Studio 2015 se entrega con una versión anterior de Node. En caso de que no desee quedarse atascado con cualquier versión de Node integrada en Visual Studio, puede indicarle que use la versión que ya ha instalado.
- Vaya a: Herramientas> Opciones> Proyectos y soluciones> Herramientas web externas
-
Reordenar para que
$(PATH)
esté por encima de$(DevEnvDir)/Extensions/Microsoft/Web Tools/External
Esto también se aplica a otras herramientas como Grunt, Bower y Gulp.
Encontré esta solución por Mads Kristensen here .
Para Visual Studio 2017, podemos encontrar la configuración en
Tools > Options > Projects and Solutions > Web Package Management > External Web Tools
node-sass ejecuta un script de instalación para descargar el binario requerido. Si no hay variables de entorno, variables .npmrc o argumentos de proceso establecidos, entonces el binario se determina utilizando la plataforma de proceso actual, la arquitectura y la versión ABI del nodo. Por lo tanto, si ejecuta la instalación de nodo en una aplicación y luego intenta ejecutar node-sass en una aplicación con una plataforma / arquitectura / ABI diferente, el binario no se habrá descargado. La solución es descargar manualmente el binario o arreglar la versión binaria usando una variable de entorno (SASS_BINARY_NAME) o una variable .npmrc (sass_binary_name)
Puede ver la lógica para esto en la función getBinaryPath en node-sass / lib / extensions.js
Consulte también: Node Sass no pudo encontrar un enlace para su entorno actual