Essayez de réinstaller `node-sass` sur le noeud 0.12?


263

Je souhaite utiliser le kit de démarrage Google Web. J'ai installé node.js v0.12.0, node-sass& gulp.

Et puis a couru:

$ sudo npm install

Lorsque j'ai tapé, j'ai gulp serveobtenu cette erreur:

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

J'ai réinstallé node et gulp mais cela n'aide pas.

Que devrais-je faire ensuite?


Le nœud de déclassement a fonctionné pour moi.
zero_cool

Réponses:


386

Si la version de votre nœud est 4 et que vous utilisez gulp-sass, essayez

npm uninstall --save-dev gulp-sass

npm install --save-dev gulp-sass@2

5
problème résolu me sur le noeud 4.1 :) ty
Zalaboza

Correction pour moi sur Debian 8.1 et Node 4.1 aussi. Merci beaucoup.
VinceOPS

3
Je vous remercie. Cette réponse devrait probablement être marquée comme "la bonne")
Paul Paca-Vaca Seleznev

1
Merci d'avoir passé beaucoup de temps à essayer de résoudre ce problème et c'est la solution qui a fonctionné!
HjalmarCarlson

1
Résout également le problème sur la v6.9.2 à partir de décembre 2016. Merci!
digitalformula

341

J'ai trouvé cette commande utile:

npm rebuild node-sass

De la rebuild documentation :

Ceci est utile lorsque vous installez une nouvelle version de node (ou changez de version de node) et que vous devez recompiler tous vos addons C ++ avec le nouveau binaire node.js.

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


5
Vous avez beaucoup d'erreurs, comme Python not supported byetFailed at the node-sass@0.8.6 install script 'node build.js'
AlikElzin-kilaka

14
Cela devrait être la réponse acceptée, car elle fait un minimum de travail pour résoudre le problème réel.
TheHippo

1
@ AlikElzin-kilaka: Assurez-vous que Python est installé et que la variable d'environnement PYTHON est définie pour pointer l'installation.
Roope Hakulinen du

2
J'ai essayé cela avant toute autre chose et cela a parfaitement fonctionné. Acclamations
ConorLuddy

15
Je reçois unError: Cannot find module 'node_modules/node-sass/node_modules/pangyp/bin/node-gyp'
lrkwz

233

J'ai rencontré cette erreur en utilisant le nœud 0.12.0et elle a été corrigée en supprimant le /node_modulesrépertoire existant et en l'exécutant npm update.


Cela ne fonctionnera pas si vous n'avez pas toutes vos dépendances spécifiées dans package.json
Victor Marchuk

J'ai dû supprimer le dossier, puis exécuter l'installation de npm, puis la mise à jour de npm. Mais cela m'a orienté dans la bonne direction. Merci!
Timothy

La suppression du dossier node_modules a provoqué: Error: Cannot find module 'c:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'lors de l'exécution npm update.
AlikElzin-kilaka

41
Ceci est la solution radicale. Utilisez simplement npm rebuild node-sassce qui est spécifiquement pour la reconstruction des addons C ++.
Chris Sattinger

2
Ne résout rien pour moi :(
Isochronous

84

npm rebuild node-sassme donnait des erreurs (Ubuntu) et npm install gulp-sassn'a pas fait disparaître l'erreur.

J'ai vu une solution sur GitHub qui a fonctionné pour moi:

npm uninstall --save-dev gulp-sass

npm install --save-dev gulp-sass


A travaillé aujourd'hui pour les versions les plus récentes
gtamborero

22

J'ai eu le même problème:

  • installation de node-sass
  • être informé à la fin de l'installation que l'installation s'est terminée avec succès
  • puis invité à réinstaller node-sass.

La solution consiste à installer la version 2 de node-sass qui prend en charge les versions actuelles de node. Voir https://github.com/sass/node-sass/issues/490#issuecomment-70388754

Courir:

npm install node-sass@2

Puis testez à nouveau:

$ 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

8
Pour ceux d'entre nous qui utilisent 'grunt-sass', assurez-vous et mettez à jour: 'npm install --save-dev grunt-sass'
natepers

19

Si vous utilisez Gulp, essayez:

npm install gulp-sass

J'ai eu le même problème et le gulp-sasspaquet était le problème.


utiliser celui-ci après "npm uninstall --save-dev gulp-sass" a résolu le problème pour moi
Sul Aga

2
npm install grunt-sassrésolu le problème pour moi.
Paul Schreiber

11

j'ai eu le même problème aujourd'hui au travail.

npm rebuild node-sass

fait le travail pour moi


9

La mise à niveau de Node vers 0.10.36 devrait le faire par ce fil sur la page github de node-sass: https://github.com/sass/node-sass/issues/490#issuecomment-70388754

Si vous avez NVM, vous pouvez simplement:

nvm install 0.10

Si vous ne le faites pas, vous pouvez trouver NVM et les instructions ici: https://www.npmjs.com/package/nvm


résolu le problème pour moi. nvm est également disponible via homebrew pour les utilisateurs de mac: "brew install nvm". après être passé à la version 0.10.36, assurez-vous qu'elle est vraiment active: "node -v"
cjoy

9
La rétrogradation du nœud lui-même est plus une solution de contournement qu'une réponse.
mikemaccana

1
Ce bug est corrigé dans node-sass@2.0.1- comme @mikemaccana découvert à la fin du ticket référencé par cette réponse. Voir son commentaire dans ce fil.
natepers

1
Les utilisateurs de 'grunt-sass' devraient mettre à jour après la mise à jour de 'node-sass' si vous rencontrez toujours des problèmes: 'npm install --save-dev grunt-sass'
natepers

3

Cette réponse est un peu orthogonale à l'OP, mais -

Les liaisons libsass ne s'installent pas correctement avec l'encapsuleur node-sass sur Node v4.0.0. J'ai reçu le même message d'erreur que dans la question ( Error: 'libsass' bindings not found. Try reinstalling 'node-sass')mais j'ai fini par désinstaller Node v4.0.0 et installer v0.12.7 à l'aide de nvm, via ce script:

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

et maintenant libsass et node-sass se comportent correctement.


2

vous pouvez également vouloir npm remove gulp-sasset réinstaller gulp-sass si vous avez changé de version de nœud.


2

J'ai le même problème lorsque la version de gulp-sass est 1.3.0 et le corrige après la mise à niveau vers 2.1.0.


1

Si vous êtes venu ici parce que vous avez mis à niveau nodejs à l'échelle du système et que votre application emberjs ^ 1.13 échoue soudainement avec ce message, assurez-vous que vous n'utilisez pas une version obsolète de ember-cli-sass. Vous devrez le faire rm -rf node_modules bower_components dist tmpdans l'application Ember, puis mettre à jour votre package.jsonavec la ember-cli-sassversion appropriée , et enfin npm install --save-dev. Cela l'a corrigé pour moi, sans avoir à reconstruire ou à modifier d'autres dépendances.


1

J'ai supprimé tout le /node_modulesdossier, puis j'ai couru npm installet cela a fonctionné.

J'ai le noeud v5.5.0, npm 3.3.12


0

Pour moi, ce problème a été causé dans mon système de construction (Travis CI) en faisant quelque chose de stupide dans mon .travis.ymlfichier. En fait, j'appelais npm install auparavant nvm use 0.12 , et cela causait node-sassd'être construit pour 0.10au lieu de 0.12. Ma solution consistait simplement à nvm usesortir de la section .travis.ymldu fichier before_scriptavant la npm installcommande, qui se trouvait dans la before_installsection.

Dans votre cas, il est probable que le processus par lequel vous commencez gulputilise une version différente de nodecelle que vous attendez.


0

J'ai eu le même problème que @Kos, mais pour une raison quelconque, j'ai dû modifier le paquet gulp-sass de l'ancien package.jsonfichier que j'avais. Il a ensuite installé les dépendances actuellement et maintenant il fonctionne enfin!


0

Mon problème était que j'étais sur une machine avec node version 0.12.2, mais qui avait une ancienne 1.x.xversion de npm. Assurez-vous de mettre à jour votre version de npm: sudo npm install -g npmUne fois cela fait, supprimez tout existant node-sasset réinstallez-le via npm.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.