J'ai des problèmes pour créer une application car node-sass continue d'échouer avec l'erreur.
ERREUR dans la liaison manquante /Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node
Node Sass n'a pas pu trouver de liaison pour votre environnement actuel: OS X 64 bits avec Node 0.10.x
J'ai essayé de courir
npm rebuild node-sass
qui dit
Le binaire est très bien; sortir.
Lors de l'exécution, node -v
je reçois la version 6.2.2
Ce qui est différent de ce que l'erreur sass indique "Node 0.10.x". Je ne peux pas comprendre pourquoi il obtient la mauvaise version. J'ai également essayé de supprimer le dossier node_modules et d'exécuter la mise à jour npm ou l'installation npm, les deux n'ayant pas résolu le problème. Des idées?
nvm
? Si vous l'êtes parfois, cela gâche certains des chemins du module npm et ils essaient d'utiliser une version différente de la version actuelle. Sinon, vous pouvez toujours essayer de supprimer lenode_modules
dossier et d'installer à nouveau les dépendancesRéponses:
J'ai eu le même problème
Comment résoudre mon problème
En allant dans le dossier du projet puis en exécutant:
la source
/usr/local/lib/
utilisé CMD + SHIFT + G dans le Finder et renommé le dossier node-sass. Puis courunpm install node-sass -g
. qui fixe. Je suis sur Mac OSv10.7.0
node-sass:v3.13.1
. Dit que mon environnement actuel est des fenêtres 32 bits avec le noeud 0.10.x, ce qui n'est tout simplement pas vrai.node_modules
et de l'exécuternpm install
plutôt que de reconstruire votre nœud-sass.Remarque J'utilise VS 2015, Windows 7 64 bits.
Fonctionne également pour VS 2017 et VS 2019 (des réponses à ce post)
L'explorateur de Task Runner ne peut pas charger les tâches
Pour VS 2015
Pour VS 2017 (.3)
Suppression
node_modules
et exécutionnpm install
, puisnpm rebuild node-sass
n'a rien fait .la source
Tools > Options > Projects and Solutions > Web Package Management > External Web Tools
J'ai eu le même problème dans un environnement Windows, recevant l'erreur suivante:
Aucune des
npm
commandes répertoriées dans les autres réponses ici (npm install
,npm rebuild node-sass
, etc.) a travaillé.Au lieu de cela, j'ai dû télécharger la liaison manquante et la placer dans le dossier de destination approprié.
Les liaisons peuvent être trouvées sur git .
/node_modules/node-sass/vendor/
Faites correspondre le fichier avec le nom du dossier identifié après dans votre message d'erreur («darwin-x64-11» dans votre cas, vous voudrez donc ledarwin-x64-11_binding.node
fichier).Créez le dossier manquant dans votre projet (
/node_modules/node-sass/vendor/darwin-x64-11
), copiez le.node
fichier dans le nouveau répertoire et renommez-lebinding.node
.URL de publication de Node-sass: https://github.com/sass/node-sass/releases
la source
A travaillé pour moi:
Supprimez simplement le dossier node-sass et exécutez
npm install
.la source
npm rebuild node-sass
N'a pas travaillé pour moi. (Mac avec WebStorm)npm rebuild node-sass --force
n'a pas fonctionné non plus.Exécutez simplement:
npm rebuild node-sass --force
Si ce qui précède n'a pas fonctionné pour vous, essayez ceci:
node-sass
dossier sousnode_modules
npm install
Dans mon cas, il n'a pas non plus pu trouver
Python
.La procédure suivante a résolu le problème (Windows):
la source
npm rebuild node-sass --force
Ou, si vous utilisez node-sass dans un conteneur:
docker exec <container-id> npm rebuild node-sass --force
Cette erreur se produit lorsque node-sass n'a pas la liaison correcte pour le système d'exploitation actuel.
Si vous utilisez Docker, cette erreur se produit généralement lorsque vous ajoutez
node_modules
directement au système de fichiers conteneur dans votre Dockerfile (ou que vous les montez à l'aide d'un volume Docker).L'architecture du conteneur est probablement différente de votre système d'exploitation actuel. Par exemple, j'ai installé node-sass sur macOS mais mon conteneur exécute Ubuntu.
Si vous forcez node-sass à reconstruire à partir du conteneur, node-sass téléchargera les liaisons correctes pour le système d'exploitation du conteneur.
Voir mon cas de repro pour en savoir plus.
la source
npm install
(ou non) dans Docker est problématique lorsque vous avez des modules dépendants de l'architecture: obtenir des binaires darwin ou linux selon l'endroit où celanpm i
se produit pour les modules NodeJS commenode-sass
, ou@google-cloud/pubsub
/node_modules
qui était en train d'être attaché monté dans le conteneur à/app/node_modules
. Même si monNODE_PATH
était/node_modules
(qui existait) et aurait dû être dans un endroit différent .., il a commencé au hasard à causer des problèmes. J'avais installé aux deux endroits pour que mes deps dev pour plus joli fonctionnent avec mon vscode. whoops. trucs bizarres. Merci pour la mention docker <3J'ai eu un problème similaire et la raison en était qu'il y avait deux versions de Node installées sur ma machine: une "globale" et une autre au niveau du projet. Sass ne se construira correctement que si la version Gulp s'exécute sous la version Node.js 4.x, alors assurez-vous de mettre à niveau la version de Node que vous utilisez.
PS: si vous supprimez complètement le dossier node_modules de votre projet et que vous le reconstruisez à partir de zéro, npm téléchargera les dépendances correctes pour votre version actuelle du système et du nœud.
la source
dans certains cas, vous devez désinstaller et installer la bibliothèque node-sass. Essayer:
et
regardez ce son travail pour moi, lien de pile ici
la source
Essayez d'ajouter le suffixe --force
la source
Pour mon cas particulier, aucune des réponses ci-dessus n'a fonctionné. Alors, ça a marché:
npm cache verify
pour vérifier qu'il ne reste rien dans le cacheMême si je n'ai pas essayé de reproduire la séquence, c'est une combinaison des éléments ci-dessus qui a fonctionné. De plus, vous pouvez également essayer:
npm install --save node-sass
ounpm install node-sass -g
la source
* Réponse liée à Docker ici *
Répondez si vous voyez ce problème, ou quelque chose de similaire, et que vous utilisez Docker.
Cause: lors de la copie de la structure de fichiers actuelle vers l'intérieur du conteneur Docker, vous pouvez copier des modules de nœuds d'un système d'exploitation à un autre (par exemple, un conteneur Mac vers Linux).
Solution:
Ajoutez un
.dockerignore
, et ajoutez à l'intérieur:node_modules
Cela entraînera une
npm install
installation des liaisons pour l'environnement Docker, plutôt que pour l'environnement de votre machine locale.la source
J'ai eu le même problème
C'est parce que j'ai installé npm en utilisant une version nodejs différente, essayez de supprimer le dossier node_modules en installant et en démarrant
Si vous utilisez nvm do
la source
J'ai eu le même problème avec Node v7.4.0 Current (Dernières fonctionnalités).
J'ai lu un peu ici et rétrogradé Node à v6.9.4 LTS et après l'avoir exécuté,
npm rebuild node-sass
il a téléchargé le binaire et tout a commencé à fonctionner.la source
node-sass
le module de nœud utilisedarwin
un fichier binaire qui dépend de la version du nœud. Ce problème se produit lorsque le fichier binaire n'est pas téléchargé ou qu'un fichier binaire incorrect est téléchargé.Réinstaller les modules de noeud téléchargera le binaire attendu de node-sass: -
Pour les utilisateurs Mac:
Pour les utilisateurs de Windows:
mais pour certains utilisateurs, vous devez vérifier la compatibilité de votre version de nœud avec la version de nœud-sass. Rendez-le compatible en utilisant le tableau ci-dessous et réexécutez les commandes ci-dessus pour résoudre ce problème.
Si le problème n'est toujours pas résolu, consultez la liste des environnements pris en charge par node-sass: - https://github.com/sass/node-sass/releases/
la source
Pour Visual Studio 2015/2017, faites un clic droit sur votre
package.json
et cliquez sur Restaurer les packages.Cela garantira que le npm des outils externes de Visual Studio Tools est exécuté et que la liaison sera reconstruite en fonction de cela.
la source
Cela se produit lorsque vous exécutez une mise à jour de Node.js sur votre poste de travail et que vous utilisez node-sass globalement.
Vous devez donc désinstaller node-sass globalement
Et puis vous devez l'installer globalement, encore une fois
la source
Rafraîchissez simplement votre cache npm et:
Cela fonctionne toujours pour moi dans le même cas.
UPD: Votre problème peut également être dû à l'absence d'un sasslib global.
la source
Il suffit d'exécuter le commentaire c'est tout.
npm reconstruire node-sass
profitez de votre codage ...
la source
Les dépendances post pour node-sass ne sont pas installées sans le package.json dans node-sass
crédit: lien
la source
Cela se produit généralement car l'environnement a changé depuis son exécution
npm install
. L'exécutionnpm rebuild node-sass
crée la liaison pour l'environnement actuel.la source
Je suis un utilisateur de Windows 8, j'ai récemment mis à jour Node to
v8.11.1
et npm tov6.0.0
et j'ai rencontré un problème similaire. Rien n'a fonctionné -npm install -g node-sass@latest
ou supprimer lenode-sass
répertoire du projetnode_modules/
- aucun d'entre eux n'a fonctionné pour moi.Le Laravel Mix lançait une erreur sur ma console de navigateur disant un nœud manquant:
win32-x64-57
. Je ne sais pas si c'est à cause d'une connexion Internet plus lente ou quelque chose, le nœud manquait lors de la mise à jour.Par conséquent, certaines des réponses m'ont incité à examiner les versions de Node-Sass, et j'ai trouvé la solution.
npm view node-sass version
({your version}
à l'étape 4)C:\Users\{User}\AppData\Roaming\npm-cache\node-sass\{your version}\
et placez le.node
fichier téléchargé dans le dossier de versionEt vous avez terminé.
Dans mon cas, la version node-sass était
4.9.0
et le nœud manquant étaitwin32-x64-57_binding.node
, donc j'ai téléchargé le.node
fichier à partir de la version 4.9.0 et j'ai suivi l'étape 4.la source
Une erreur similaire que j'ai rencontrée avec Visual Studio 2015 Community Edition lors de la création d'une application AspNetCore était:
Vous pouvez voir d'après l'erreur ci-dessus que la cause provenait d'une incompatibilité de version sur les liaisons pour nodejs.
La solution que j'ai trouvée était de
la source
Cela a fonctionné pour moi Supprimer
node_modules
puis restaurer des packages à partir d'IDE, puisnpm rebuild node-sass
la source
J'ai eu ce problème lors de la mise à niveau de VS 2017 Professional vers Enterprise
la source
Aucune des solutions d'installation / reconstruction n'a résolu le problème pour moi (en utilisant gulp).
Voici comment je l'ai résolu:
1) Téléchargez le fichier de liaison manquant à partir du référentiel .
2) Renommez le fichier
binding.node
.3) Créez le
node_modules/node-sass/vendor/darwin-x64-11
répertoire (chemin du message d'erreur) s'il n'existe pas.4) Ajoutez le fichier de liaison à
node_modules/node-sass/vendor/darwin-x64-11
la source
Veuillez écrire la commande ci-dessous sur le dossier racine.
npm reconstruire node-sass
100% fonctionne ...
la source
Si votre terminal / invite de commande indique:
et vous avez essayé les commandes suivantes telles que:
& RIEN ne fonctionne toujours ..
Exécutez simplement ceci dans le terminal manuellement:
maintenant courir
la source
node-sass exécute un script d'installation pour télécharger le binaire requis. S'il n'y a pas de variables d'environnement, de variables .npmrc ou d'arguments de processus définis, le binaire est déterminé en utilisant la plate-forme de processus, l'architecture et la version du nœud ABI actuelles. Par conséquent, si vous exécutez l'installation de noeud dans une application, puis essayez d'exécuter node-sass dans une application avec une plate-forme / architecture / ABI différente, le binaire n'aura pas été téléchargé. La solution consiste à télécharger manuellement le binaire ou à corriger la version binaire à l'aide d'une variable d'environnement (SASS_BINARY_NAME) ou d'une variable .npmrc (sass_binary_name)
Vous pouvez voir la logique pour cela dans la fonction getBinaryPath dans node-sass \ lib \ extensions.js
la source
J'ai eu le même problème. Je n'ai pas trouvé de solution de travail appropriée ici, alors j'ai trouvé la mienne:
Inspiré par la solution @ Rob-Scott et d'autres pointant que nous pourrions avoir 2 versions de Node.js installées, je suis allé à
C:\Program Files (x86)\nodejs
et j'ai réalisé que j'avais une version node.js installée en plus de l'installation par défaut de VS.Ma solution était assez simple:
add an entry
(le plus à gauche du bloc de boutons en haut à droite)C:\Program Files (x86)\nodejs
, validez en appuyant surenter
Probablement Node.js n'est pas bien défini dans la variable PATH, mais c'est ma solution de travail très rapide, mes 2 cents :)
la source
J'ai dû d'abord choisir la nouvelle version du nœud par défaut
nvm use ***
ounvm install ***
puis supprimer tout dans node_modules dans le projet etnpm i
encore.la source