Versuchen Sie, `node-sass` auf Knoten 0.12 neu zu installieren?

263

Ich möchte das Google Web Starter Kit verwenden. Ich habe node.js v0.12.0 node-sass& installiert gulp.

Und dann lief:

$ sudo npm install

Als ich tippte, gulp servebekam ich diesen Fehler:

Using gulpfile ~/web-starter-kit/gulpfile.js Starting 'styles'... 'styles' errored after 93 ms 
Error: `libsass` bindings not found. Try reinstalling `node-sass`? at getBinding

Ich habe Node und Gulp neu installiert, aber das hilft nicht.

Was soll ich als nächstes tun?

Takagi Akihiro
quelle
Das Herabstufen des Knotens hat bei mir funktioniert.
zero_cool

Antworten:

386

Wenn Ihre Knotenversion 4 ist und Sie gulp-sass verwenden, versuchen Sie es

npm uninstall --save-dev gulp-sass

npm install --save-dev gulp-sass@2
Roma Rush
quelle
5
Problem von mir auf Knoten 4.1
behoben
Für mich auch unter Debian 8.1 und Node 4.1 behoben. Vielen Dank.
VinceOPS
3
Danke dir. Wahrscheinlich sollte diese Antwort als die "richtige" markiert werden)
Paul Paca-Vaca Seleznev
1
Vielen Dank, wir haben viel Zeit damit verbracht, dieses Problem zu lösen, und dies war die Lösung, die funktioniert hat!
HjalmarCarlson
1
Behebt auch das Problem in Version 6.9.2 ab Dezember 2016. Danke!
Digitalformula
341

Ich fand diesen nützlichen Befehl:

npm rebuild node-sass

Aus der rebuild Dokumentation :

Dies ist nützlich, wenn Sie eine neue Version des Knotens installieren (oder die Knotenversionen wechseln) und alle Ihre C ++ - Addons mit der neuen Binärdatei node.js neu kompilieren müssen.

http://laravel.io/forum/10-29-2014-laravel-elixir-sass-error

Denis C de Azevedo
quelle
5
Python not supported byFailed at the [email protected] install script 'node build.js'
Habe
14
Dies sollte die akzeptierte Antwort sein, da nur minimale Arbeit erforderlich ist, um das eigentliche Problem zu beheben.
TheHippo
1
@ AlikElzin-kilaka: Stellen Sie sicher, dass Python installiert und die Umgebungsvariable PYTHON so eingestellt ist, dass sie auf die Installation verweist .
Roope Hakulinen
2
Ich habe es vor allem versucht und es hat perfekt funktioniert. Prost
ConorLuddy
15
Ich erhalte eineError: Cannot find module 'node_modules/node-sass/node_modules/pangyp/bin/node-gyp'
lrkwz
233

Ich bin mit node auf diesen Fehler 0.12.0gestoßen, der durch Löschen des vorhandenen /node_modulesVerzeichnisses und Ausführen behoben wurde npm update.

createbang
quelle
Das wird nicht funktionieren, wenn Sie nicht alle Abhängigkeiten in package.json
Victor Marchuk
Ich musste den Ordner löschen, dann npm install ausführen und dann npm update. Aber das hat mich in die richtige Richtung gelenkt. Vielen Dank!
Timothy
Löschen des Ordners node_modules verursacht: Error: Cannot find module 'c:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'beim Ausführen npm update.
AlikElzin-Kilaka
41
Dies ist die drastische Lösung. Verwenden Sie einfach das, npm rebuild node-sasswas speziell für die Neuerstellung der C ++ - Addons vorgesehen ist.
Chris Sattinger
2
Behebt nichts für mich :(
Isochronous
84

npm rebuild node-sassgab mir Fehler (Ubuntu) und npm install gulp-sassließ den Fehler nicht verschwinden.

Ich habe auf GitHub eine Lösung gesehen, die für mich funktioniert hat:

npm uninstall --save-dev gulp-sass

npm install --save-dev gulp-sass

Pupper
quelle
Arbeitete heute für @lastest Versionen
gtamborero
22

Ich hatte das gleiche Problem:

  • Installation von Node-Sass
  • Am Ende der Installation wird mitgeteilt, dass die Installation erfolgreich abgeschlossen wurde
  • dann aufgefordert werden, node-sass neu zu installieren.

Die Lösung besteht darin, Node-Sass Version 2 zu installieren , die aktuelle Versionen von Node unterstützt. Siehe https://github.com/sass/node-sass/issues/490#issuecomment-70388754

Lauf:

npm install node-sass@2

Dann erneut testen:

$ npm ls node-sass
myapp@0.0.0 /var/www/myapp
└── node-sass@2.0.1

$ gulp sass
[09:48:42] Using gulpfile /var/www/myapp/gulpfile.js
[09:48:42] Starting 'sass'...
[09:48:42] Finished 'sass' after 15 ms
Mikemaccana
quelle
8
Für diejenigen von uns, die 'grunt-sass' verwenden, sei sicher und aktualisiere: 'npm install --save-dev grunt-sass'
natepers
19

Wenn Sie Gulp verwenden, versuchen Sie:

npm install gulp-sass

Ich hatte das gleiche Problem und das gulp-sassPaket war das Problem.

Georger
quelle
Mit diesem nach "npm deinstallieren --save-dev gulp-sass" wurde das Problem für mich behoben
Sul Aga
2
npm install grunt-sassDas Problem wurde für mich behoben.
Paul Schreiber
11

Ich hatte heute das gleiche Problem bei der Arbeit.

npm rebuild node-sass

habe den Job für mich gemacht

bin2hex
quelle
9

Das Herabstufen des Knotens auf 0.10.36 sollte gemäß diesem Thread auf der Node-Sass-Github-Seite erfolgen: https://github.com/sass/node-sass/issues/490#issuecomment-70388754

Wenn Sie NVM haben, können Sie einfach:

nvm install 0.10

Wenn Sie dies nicht tun, finden Sie NVM und Anweisungen hier: https://www.npmjs.com/package/nvm

Nateper
quelle
löste das Problem für mich. nvm ist auch über Homebrew für Mac-Benutzer verfügbar: "brown install nvm". Stellen Sie nach dem Wechsel zur Version 0.10.36 sicher, dass sie wirklich aktiv ist: "node -v"
genießen Sie den
9
Das Herabstufen des Knotens selbst ist eher eine Problemumgehung als eine Antwort.
Mikemaccana
1
Dieser Fehler wurde in [email protected] behoben, da @mikemaccana am Ende des Tickets entdeckt wurde, auf das in dieser Antwort verwiesen wird. Siehe seinen Kommentar in diesem Thread.
Natepers
1
Benutzer von 'grunt-sass' sollten nach dem Aktualisieren von 'node-sass' aktualisieren, wenn immer noch Probleme auftreten: 'npm install --save-dev grunt-sass'
natepers
3

Diese Antwort ist etwas orthogonal zum OP, aber -

libsass-Bindungen werden mit dem Node-Sass-Wrapper auf Node v4.0.0 nicht ordnungsgemäß installiert. Ich habe die gleiche Fehlermeldung wie in der Frage erhalten ( Error: 'libsass' bindings not found. Try reinstalling 'node-sass')aber am Ende habe ich Node v4.0.0 deinstalliert und v0.12.7 mit nvm über dieses Skript installiert:

https://gist.github.com/brock/5b1b70590e1171c4ab54

und jetzt verhalten sich libsass und node-sass richtig.

ericsoco
quelle
2

Möglicherweise möchten Sie npm remove gulp-sassgulp-sass auch neu installieren, wenn Sie die Knotenversionen gewechselt haben.

4m1r
quelle
2

Ich habe das gleiche Problem, wenn die gulp-sass-Version 1.3.0 ist, und behebe es nach dem Upgrade auf 2.1.0.

Kos
quelle
1

Wenn Sie hierher gekommen sind, weil Sie nodejs systemweit aktualisiert haben und plötzlich Ihre emberjs ^ 1.13-App mit dieser Meldung fehlschlägt, stellen Sie sicher, dass Sie keine veraltete Version von verwenden ember-cli-sass. Sie müssen in rm -rf node_modules bower_components dist tmpder Ember-App Ihre dann package.jsonmit der entsprechenden ember-cli-sassVersion aktualisieren und schließlich npm install --save-dev. Dies hat es für mich behoben, ohne dass ich andere Abhängigkeiten neu erstellen oder ändern musste.

Handgewebesohle
quelle
1

Ich habe den ganzen /node_modulesOrdner entfernt npm installund bin dann gelaufen und es hat funktioniert.

Ich habe Knoten v5.5.0, npm 3.3.12

Florin Dobre
quelle
0

Für mich wurde dieses Problem in meinem Build-System (Travis CI) dadurch verursacht, dass ich in meiner .travis.ymlDatei etwas Dummes getan habe . Tatsächlich rief ich npm install vor nvm use 0.12 , und dies verursacht wurde node-sassfür gebaut werden 0.10statt 0.12. Meine Lösung bestand darin, einfach nvm useaus dem Abschnitt der .travis.ymlDatei before_scriptvor dem npm installBefehl zu wechseln, der sich im before_installAbschnitt befand.

In Ihrem Fall ist es wahrscheinlich, dass für jeden Prozess, mit dem Sie beginnen gulp, eine andere Version von verwendet wird node(als erwartet).

Alan H.
quelle
0

Ich hatte das gleiche Problem wie @Kos, nur aus irgendeinem Grund musste ich das gulp-sass-Paket von der alten package.jsonDatei, die ich hatte , ändern . Es hat dann die aktuellen Abhängigkeiten installiert und jetzt funktioniert es endlich!

Shay
quelle
0

Mein Problem war, dass ich auf einer Maschine war node version 0.12.2, aber das hatte eine alte 1.x.xVersion von npm. Aktualisieren Sie unbedingt Ihre Version von npm: sudo npm install -g npmEntfernen Sie anschließend alle vorhandenen Versionen node-sassund installieren Sie sie über npm neu.

k00k
quelle
0

Sie müssen die richtige Version verwenden. Versuchen:

nvm use 0.12
alexfigtree
quelle