Estou usando o VS2015 e o Gulp. Abro o Task Runner Explorer e clico em atualizar, e isso aparece no log:
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)
Então, tento executar cmd.exe /c gulp --tasks-simple
no PowerShell, no mesmo diretório, e funciona bem - ele retorna uma lista de tarefas.
Também consigo executar minhas tarefas relacionadas ao SASS perfeitamente, então não tenho certeza por que isso está reclamando do SASS quando está sendo executado via VS, mas não diretamente na linha de comando.
Parece que o gulp-sass procura o node-sass em um local diferente. Aqui está uma solução temporária.
crie um novo diretório chamado win32-ia32-11 dentro de c: \ Projects \ Test \ node_modules \ gulp-sass \ node_modules \ node-sass \ vendor \
Goto https://github.com/sass/node-sass-binaries e baixar win32-ia32-11_binding.node.
Copie o arquivo win32-ia32-11_binding.node para c: \ Projects \ Test \ node_modules \ gulp-sass \ node_modules \ node-sass \ vendor \ win32-ia32-11 \ e renomeie-o para binding.node
fonte
.npmrc
arquivo com a opção de configuração apropriada, mas sem sorte. Mesmo rodandonpm install
em um console PS de 32 bits, as versões de 64 bits ainda estão sendo instaladas.win32-ia32-14
vez dewin32-ia32-11
- que por algum motivo é o quelibsass
está procurando ...Tentei todas as soluções acima, mas não funcionou e encontrei outra solução aqui .
Você tem que forçar a execução do Visual Studio com sua versão Node.js:
Tools
>Options
no Visual Studio 2015Projects and Solutions
>External Web Tools
C:\Program Files\nodejs
fonte
A única solução que resolveu meu problema foi reinstalar o NPM Task Runner. Você pode baixá-lo no seguinte link no marketplace.
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.NPMTaskRunner
fonte
node-sass executa um script de instalação para baixar o binário necessário. Se não houver variáveis de ambiente, variáveis .npmrc ou argumentos de processo definidos, o binário é determinado usando a plataforma de processo atual, arquitetura e versão Node ABI. Portanto, se você executar a instalação do nó em um aplicativo e, em seguida, tentar executar o node-sass em um aplicativo com uma plataforma / arquitetura / ABI diferente, o binário não terá sido baixado. A solução é baixar manualmente o binário ou corrigir a versão binária usando uma variável de ambiente (SASS_BINARY_NAME) ou uma variável .npmrc (sass_binary_name)
Você pode ver a lógica para isso na função getBinaryPath em node-sass \ lib \ extensions.js
Veja também: O nó Sass não conseguiu encontrar uma ligação para o seu ambiente atual
fonte