Ich benutze VS2015 und Gulp. Ich öffne den Task Runner Explorer und drücke auf Aktualisieren. Dies wird im Protokoll angezeigt:
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)
Ich versuche also, cmd.exe /c gulp --tasks-simple
in PowerShell im selben Verzeichnis zu arbeiten, und es funktioniert einwandfrei - es gibt eine Liste von Aufgaben zurück.
Ich kann meine SASS-bezogenen Aufgaben auch einwandfrei ausführen, daher bin ich mir nicht sicher, warum sich dies über SASS beschwert, wenn es über VS ausgeführt wird, jedoch nicht direkt über die Befehlszeile.
Es scheint, dass gulp-sass Node-sass an einem anderen Ort durchsucht. Hier ist eine vorübergehende Lösung.
Erstellen Sie ein neues Verzeichnis mit dem Namen win32-ia32-11 in c: \ Projects \ Test \ node_modules \ gulp-sass \ node_modules \ node-sass \ vendor \
Goto https://github.com/sass/node-sass-binaries und Download - win32-ia32-11_binding.node.
Kopieren Sie die Datei win32-ia32-11_binding.node nach c: \ Projects \ Test \ node_modules \ gulp-sass \ node_modules \ node-sass \ vendor \ win32-ia32-11 \ und benennen Sie sie in binding.node um
quelle
.npmrc
Datei mit der entsprechenden Konfigurationsoption zu erstellen , aber kein Glück. Selbstnpm install
wenn sie in einer 32-Bit-PS-Konsole ausgeführt werden, werden die 64-Bit-Versionen noch installiert.win32-ia32-14
anstelle vonwin32-ia32-11
- was aus irgendeinem Grundlibsass
gesucht wird ...Ich habe alle oben genannten Lösungen ausprobiert, aber es funktioniert nicht und ich habe hier eine andere Lösung gefunden .
Sie müssen die Ausführung von Visual Studio mit Ihrer Node.js-Version erzwingen:
Tools
>Options
Projects and Solutions
>External Web Tools
C:\Program Files\nodejs
quelle
Die einzige Lösung, die mein Problem löste, war die Neuinstallation von NPM Task Runner. Sie können es über den folgenden Link auf dem Marktplatz herunterladen.
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.NPMTaskRunner
quelle
node-sass führt ein Installationsskript aus, um die erforderliche Binärdatei herunterzuladen. Wenn keine Umgebungsvariablen, .npmrc-Variablen oder Prozessargumente festgelegt sind, wird die Binärdatei unter Verwendung der aktuellen Prozessplattform, Architektur und Knoten-ABI-Version bestimmt. Wenn Sie die Knoteninstallation in einer Anwendung ausführen und dann versuchen, Node-Sass in einer Anwendung mit einer anderen Plattform / Architektur / ABI auszuführen, wurde die Binärdatei nicht heruntergeladen. Die Lösung besteht darin, die Binärdatei manuell herunterzuladen oder die Binärversion mithilfe einer Umgebungsvariablen (SASS_BINARY_NAME) oder einer .npmrc-Variablen (sass_binary_name) zu reparieren.
Sie können die Logik dafür in der Funktion getBinaryPath in node-sass \ lib \ extensions.js sehen
Siehe auch: Node Sass konnte keine Bindung für Ihre aktuelle Umgebung finden
quelle