J'utilise VS2015 et Gulp. J'ouvre l'explorateur de Task Runner et j'appuie sur Actualiser, et cela apparaît dans le journal:
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)
J'essaie donc de l'exécuter cmd.exe /c gulp --tasks-simple
dans PowerShell, dans le même répertoire, et cela fonctionne bien - cela renvoie une liste de tâches.
Je suis également capable d'exécuter très bien mes tâches liées à SASS, donc je ne sais pas pourquoi cela se plaint de SASS lorsqu'il est exécuté via VS mais pas directement sur la ligne de commande.
Il semble que gulp-sass recherche node-sass dans un endroit différent. Voici une solution temporaire.
créez un nouveau répertoire nommé win32-ia32-11 dans c: \ Projects \ Test \ node_modules \ gulp-sass \ node_modules \ node-sass \ vendor \
Allez sur https://github.com/sass/node-sass-binaries et téléchargez win32-ia32-11_binding.node.
Copiez le fichier win32-ia32-11_binding.node dans c: \ Projects \ Test \ node_modules \ gulp-sass \ node_modules \ node-sass \ vendor \ win32-ia32-11 \ et renommez-le en binding.node
la source
.npmrc
fichier avec l'option de configuration appropriée, mais pas de chance. Même fonctionnantnpm install
dans une console PS 32 bits, les versions 64 bits sont toujours en cours d'installation.win32-ia32-14
au lieu dewin32-ia32-11
- ce qui pour une raison quelconque est ce que jelibsass
recherche ...J'ai essayé toutes les solutions ci-dessus mais cela ne fonctionne pas et j'ai trouvé une autre solution ici .
Vous devez forcer l'exécution de Visual Studio avec votre version Node.js:
Tools
>Options
dans Visual Studio 2015Projects and Solutions
>External Web Tools
C:\Program Files\nodejs
la source
La seule solution qui a résolu mon problème a été de réinstaller NPM Task Runner. Vous pouvez le télécharger à partir du lien suivant sur le marché.
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.NPMTaskRunner
la source
node-sass exécute un script d'installation pour télécharger le binaire requis. S'il n'y a pas de variables d'environnement, de variables .npmrc ou d'arguments de processus définis, le binaire est déterminé en utilisant la plate-forme de processus, l'architecture et la version ABI du nœud en cours. Par conséquent, si vous exécutez node install dans une application, puis essayez d'exécuter node-sass dans une application avec une plate-forme / architecture / ABI différente, le binaire n'aura pas été téléchargé. La solution est de télécharger manuellement le binaire ou de corriger la version binaire en utilisant une variable d'environnement (SASS_BINARY_NAME) ou une variable .npmrc (sass_binary_name)
Vous pouvez voir la logique pour cela dans la fonction getBinaryPath dans node-sass \ lib \ extensions.js
Voir aussi: Node Sass n'a pas pu trouver de liaison pour votre environnement actuel
la source