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.