node.js - openclassroom - npm tutorial
Le noeud Sass n'a pas pu trouver de liaison pour votre environnement actuel (20)
Je rencontre des problèmes pour créer une application parce que node-sass échoue constamment avec l'erreur.
ERREUR dans Liaison manquante
Nœud Sass n'a pas trouvé 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
Binaire c'est bien; sortant.
Quand j'exécute le
node -v
je reçois la v6.2.2
Ce qui est différent de ce que dit l'erreur sass "Node 0.10.x". Je n'arrive pas à comprendre pourquoi on obtient la mauvaise version. J'ai également essayé de supprimer le dossier node_modules et d'exécuter npm update ou npm install, ce qui n'a pas résolu le problème. Des idées?
Actualisez simplement votre cache npm et:
Node Sass could not find a binding for your current environment: Windows 32-bit with Node.js 5.x
Found bindings for the following environments:
- Windows 64-bit with Node.js 6.x
This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass` to build the binding for your current environment.
at module.exports ([..]\node_modules\node-sass\lib\binding.js:15:13)
at Object.<anonymous> ([..]\node_modules\node-sass\lib\index.js:14:35)
at Module._compile (module.js:397:26)
at Object.Module._extensions..js (module.js:404:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> ([..]\node_modules\gulp-sass\index.js:187:21)
at Module._compile (module.js:397:26)
Cela fonctionne toujours pour moi dans le même cas.
UPD: Votre problème peut aussi être dû à l’absence d’un sasslib global.
npm uninstall -g node-sass
Aucune des solutions d'installation / de 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 un
node_modules/node-sass/vendor/darwin-x64-11
(chemin d'accès du message d'erreur) s'il n'existe pas.
4) Ajoutez le fichier de liaison à
node_modules/node-sass/vendor/darwin-x64-11
Cela se produit généralement parce que l'environnement a changé depuis l'exécution de l'
npm install
.
L'exécution de
npm rebuild node-sass
construit la liaison pour l'environnement actuel.
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.
Donc, vous devriez désinstaller node-sass globalement
npm cache clean --force
npm install
Et puis vous devez l'installer globalement, à nouveau
npm install -g sass
Il suffit de lancer le commentaire c'est tout.
npm reconstruire node-sass
profitez de votre codage ...
J'ai eu ce problème lors de la mise à niveau de VS 2017 Professional vers Enterprise
- Fermer VS
- Supprimer node_modules
- Ouvrir VS
- Faites un clic droit sur package.json et sélectionnez "restaurer les packages"
J'ai eu le même problème avec Node v7.4.0 Current (Dernières fonctionnalités).
Avez-vous lu quelque chose ici et rétrogradé Node en v6.9.4 LTS et après avoir exécuté
npm rebuild node-sass
il a téléchargé le binaire et tout a commencé à fonctionner.
Téléchargement du fichier binaire à partir de https://github.com/sass/node-sass/releases/download/v3.13.1/win32-x64-48_binding.node
Téléchargement complet .] - :
Fichier binaire enregistré dans D: \ xxx \ xxx-xxx \ node_modules \ node-sass \ vendor \ win32-x64-48 \ binding.node
Mise en cache du fichier binaire vers C: \ Utilisateurs \ utilisateur \ AppData \ Roaming \ npm-cache \ node-sass \ 3.13.1 \ win32-x64-48_binding.node`
J'ai eu le même problème dans un environnement Windows, en recevant l'erreur suivante:
Erreur: Liaison manquante C: \ Development {ProjectName} \ node_modules \ node-sass \ vendor \ win32-ia32-47 \ binding.node
Nœud Sass n'a pas trouvé de liaison pour votre environnement actuel: Windows 32 bits avec Node.js 5.x
Liaisons trouvées pour les environnements suivants:
- Windows 64 bits avec Node.js 6.x
Aucune des commandes
npm
répertoriées dans les autres réponses
npm install
ici (
npm install
npm rebuild node-sass
, etc.) n'a fonctionné.
Au lieu de cela, je devais télécharger la liaison manquante et la placer dans le dossier de destination approprié.
Les liaisons se trouvent
sur git
.
/node_modules/node-sass/vendor/
correspondre le fichier avec le nom de dossier identifié après
/node_modules/node-sass/vendor/
dans votre message d'erreur ("darwin-x64-11" dans votre cas, de sorte que vous souhaitiez utiliser le fichier
darwin-x64-11_binding.node
).
Créez le dossier manquant dans votre projet (
/node_modules/node-sass/vendor/darwin-x64-11
), copiez le fichier
.node
dans le nouveau répertoire et renommez-le en
binding.node
.
URL de la version de Node-sass: https://github.com/sass/node-sass/releases
J'ai eu un problème similaire et la raison était qu'il y avait deux versions de Node installées sur ma machine: une "globale" et une autre au niveau du projet. Sass construira correctement uniquement si la génération Gulp est exécutée sous la version 4.x de Node.js. Assurez-vous donc 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 appropriées pour votre version actuelle du système et du noeud.
Je devais d'abord choisir la nouvelle version par défaut du nœud
nvm use ***
ou
nvm install ***
, puis supprimer tous les nœuds_modules du projet et
npm i
nouveau.
Je viens d'exécuter npm rebuild au lieu de npm rebuild node-sass et le problème a disparu .. Je ne sais pas quelle est la magie qui se cache derrière.
Lors de la création d'une image de menu fixe et d'une tentative d'exécution locale, j'ai rencontré le même problème.
Vous devez ajouter un fichier .dockerignore avec les éléments suivants:
.DS_Store .git .gitignore .idea log/* target tmp node_modules client/node_modules spec/internal/public/assets public/assets
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 sur cette base.
Pour mon cas particulier, aucune des réponses ci-dessus n'a fonctionné. Alors qu'est-ce que cela a fonctionné:
rm -rf node_modules
rm -rf /tmp/*
rm -rf /root/.npm/node-sass
npm uninstall --save node-sass
npm cache clean --force
npm cache verify
pour vérifier qu'il ne reste plus rien dans le cache
npm install
Bien que je n’aie pas essayé de reproduire la séquence, c’est une combinaison de ce qui précède qui a fonctionné. En plus, vous pouvez aussi essayer:
npm install --save node-sass
ou
npm install node-sass -g
npm rebuild node-sass
npm install bindings
S'il vous plaît écrivez ci-dessous la commande sur le dossier racine.
npm reconstruire node-sass
100% fonctionne ...
Travaillé pour moi:
Supprimez simplement le dossier node-sass et exécutez npm install .
dans certains cas, vous devez désinstaller et installer la bibliothèque node-sass. Essayer:
npm uninstall --save node-sass
et
npm install --save node-sass
regarde cela son travail pour moi, lien Stack ici
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é à l'aide de la plate-forme de processus actuelle, de l'architecture et de la version de Node ABI. Par conséquent, si vous exécutez l'installation du nœud dans une application, puis que vous essayez d'exécuter node-sass dans une application avec une plate-forme / architecture / ABI différente, le fichier 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 à cet effet dans la fonction getBinaryPath de la commande node-sass \ lib \ extensions.js
* Réponse liée ici à Docker *
Répondez si vous rencontrez ce problème ou quelque chose de similaire et utilisez Docker.
Cause: Lors de la copie de la structure de fichier actuelle dans le conteneur Docker, il est possible que vous copiez des modules de nœud d'un système d'exploitation à un autre (par exemple, un conteneur Mac vers Linux).
Solution:
Ajouter un
.dockerignore
, et à l'intérieur ajouter:
node_modules
Cela entraînera une
npm install
pour installer les liaisons pour l’environnement de menu fixe, plutôt que l’environnement de votre ordinateur local.
Exécuter:
npm rebuild node-sass --force
Dans mon cas, il n'a également pas pu trouver
Python
.
La procédure suivante a résolu le problème (Windows):
npm rebuild node-sass --force
-- cannot find python.exe, if you have Python installed, add it to your path:
set PYTHON=C:\Python27\Python.exe
-- else: download python "Windows x86-64-MSI" installer from https://www.python.org/downloads/release/python-2714/
-- install python
-- at installation start check: add env variable to path
-- after successfull installation:
npm rebuild node-sass --force
-- finished successfully