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?

Takagi Akihiro
la source
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
Roma Rush
la source
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

Denis C de Azevedo
la source
5
Vous avez beaucoup d'erreurs, comme Python not supported byetFailed at the [email protected] 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.

createbang
la source
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

Puppeur
la source
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
mikemaccana
la source
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.

georger
la source
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

bin2hex
la source
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

natepers
la source
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 [email protected] 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.

ericsoco
la source
2

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

4m1r
la source
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.

Kos
la source
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.

handwovensole
la source
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

Florin Dobre
la source
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.

Alan H.
la source
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!

Shay
la source
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.

k00k
la source
0

Vous devez utiliser la bonne version. Essayer:

nvm use 0.12
alexfigtree
la source