Estoy usando VS2015 y Gulp. Abro Task Runner Explorer 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
PowerShell, en el mismo directorio, y funciona bien: devuelve una lista de tareas.
También puedo ejecutar bien mis tareas relacionadas con SASS, por lo 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 comando.
Parece que gulp-sass busca node-sass en una ubicación diferente. Aquí tienes 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
fuente
.npmrc
archivo con la opción de configuración adecuada, pero no tuve suerte. Incluso ejecutándosenpm install
dentro de una consola PS de 32 bits, las versiones de 64 bits todavía se están instalando.win32-ia32-14
lugar dewin32-ia32-11
, que por alguna razón es lo quelibsass
está buscando ...Probé todas las soluciones anteriores, pero no funciona y encontré otra solución aquí .
Tienes que forzar la ejecución de Visual Studio con tu versión de Node.js:
Tools
>Options
en Visual Studio 2015Projects and Solutions
>External Web Tools
C:\Program Files\nodejs
fuente
La única solución que resolvió mi problema fue reinstalar NPM Task Runner. Puede descargarlo desde el siguiente enlace en el mercado.
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.NPMTaskRunner
fuente
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, el binario se determina utilizando la plataforma de proceso actual, la arquitectura y la versión de 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 de 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
fuente