web-dev-qa-db-de.com

libsass-Bindungen wurden nicht gefunden, wenn node-sass in nodejs verwendet wird

Ich möchte das Modul node-sass in meiner Anwendung node.js v0.12 verwenden, um von der Leistung von libsass zu profitieren.
Ich habe npm i node-sass ausgeführt, um das Modul zu installieren, bisher keine Fehler.

Jetzt beginnt das Chaos:
Wenn ich nur die Variable REPL in einem Terminal öffne, um node-sass auszuprobieren, funktioniert alles gut, aber wenn ich es in meine Projektdateien einfüge und node myfile.js starte, erhalte ich die folgende Fehlermeldung:

Error: `libsass` bindings not found. Try reinstalling `node-sass`?

Die Beschreibung des Moduls unter npmjs.com besagt, dass möglicherweise ein Problem mit der Auflösung von #!/usr/bin/env node unter Ubuntu und der Behebung dieses Problems besteht, dies ist jedoch auf meinem Computer nicht der Fall.
Ich konnte nichts Nützliches finden, also hoffe ich, dass Sie mir helfen könnten.

Ich verwende den Knoten v0.12.2 unter Ubuntu 14.10.

P .: Ich habe bereits versucht, Node-sass neu zu installieren, jedoch ohne Erfolg. Nichts verändert sich.

76
TorbenJ

Sie haben wahrscheinlich versucht, Node-sass während der Verwendung neu zu installieren 

npm install node-sass

oder

npm uninstall node-sass
npm install node-sass

Aber node-sass ist eine C-Version von Sass. Sie müssen npm rebuild verwenden:

npm rebuild node-sass
116

Wenn Sie Knoten 4.x oder höher verwenden, müssen Sie gulp-sass erneut installieren mit:

npm uninstall --save-dev gulp-sass
npm install --save-dev [email protected]
272
Wilson Silva

Ich habe dieses Problem behoben, indem der vorhandene /node_modules-Ordner gelöscht und npm update ausgeführt wurde.

20
Dallas Clark

Diese Problemumgehung ( http://forum.ionicframework.com/t/error-running-gulp-sass/32311/20 ) hat von mir aus funktioniert. 

Beginnend mit diesem Setup:

Cordova CLI: 5.3.3 Gulp-Version: CLI-Version 3.9.0 Gulp local: Lokale Version 3.9.0 Ionische Version: 1.1.0 Ionic CLI-Version: 1.6.5 Ionic App Lib Version: 0.3.9 Ios-deploy Version: Nicht installiert Ios-sim Version: 5.0.1 Betriebssystem: Mac OS X Yosemite Knotenversion: v4.1.1 Xcode-Version: Xcode 6.4 Build-Version 6E35b 

Ich habe eine Lösung gefunden, um den Befehl 'Sudo' zu vermeiden. Wir müssen zuvor die folgenden npm-Berechtigungen korrigieren: https://docs.npmjs.com/getting-started/fixing-npm-permissions und die Berechtigungen für den Knoten hier festlegen: http://mawaha.com/ permission-fix-node-js/ Danach können Sie die Software ohne Sudo für npm, n oder ionic überprüfen und erneut installieren.

Ich folgte diesem Schritt:

npm install -g n
rm -R node_modules/ 
npm install [email protected] 
npm -g install [email protected]
npm uninstall gulp-sass
npm install [email protected] 
npm rebuild node-sass 
ionic setup sass 

Warum [email protected]? Weil es mit der neuesten ionischen Version funktioniert: https://github.com/driftyco/ionic/pull/4449

8
Francesco

Dies ist die einzige Lösung, die für mich funktioniert hat.

Sudo npm install -g n
Sudo n 0.12.7
npm install [email protected]
Sudo npm -g install [email protected]
npm rebuild node-sass
8
Stranger

Die Kombination der beiden obigen Antworten hat für mich funktioniert und ergänzt:

Sudo npm uninstall --save gulp-sass
npm install --save [email protected]
npm update
npm rebuild node-sass
4
Jadeye

Ich habe dieses Problem gelöst, um das richtige Verzeichnis mit der angegebenen Datei binding.node zu erstellen. Sie können die Bindungen von github herunterladen 

https://github.com/sass/node-sass-binaries

Suchen Sie in der Fehlermeldung den Pfad, in dem versucht wird, die Bindung zu finden. In meinem Fall:

C:\Benutzer\Martijn\Documents\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-x64-46

Also erstelle ich diese Map win32-x64-46 und kopiere die Bindung von github in.

3
MartijnBrands

Meine Lösung war ein Downgrade auf v0.10.25 (versuchen Sie Sudo n 0.10.25, wenn Sie n verwenden.)

2
nathanhleung

Dies war ein Problem mit der Node-Version. Versuchen Sie, Ihre Version mit nvm auf etwa 0.10.32 zurückzusetzen. Das hat bei mir funktioniert. Ich lief 4.2.2

1
Kevin Alwell

Für mich wurde dieses Problem in meinem Build-System (Travis CI) dadurch verursacht, dass in meiner .travis.yml-Datei eine Art Dummkopf ausgeführt wurde. Tatsächlich rief ich npm installvornvm use 0.12 an und dies führte dazu, dass node-sass für 0.10 statt 0.12 erstellt wurde. Meine Lösung bestand einfach darin, nvm use aus dem .travis.yml-Abschnitt der before_script-Datei nach vor dem npm install-Befehl zu verschieben, der sich im Abschnitt before_install befand.

1
Alan H.

Ich habe dieses Problem gelöst, indem ich mein gcc von 4.4.x auf 4.7.x aktualisiert habe

0
worldask

Keine Notwendigkeit für Sudo oder Neuinstallationen. Das hat immer für mich funktioniert:

nvm use 0.12.2
0
alexfigtree