ERREUR dans Impossible de trouver le module 'node-sass'

186

Config: macOS High Sierra, version 10.13.2, nœud: v8.1.2 npm: 5.0.3 Lorsque j'exécute npm start dans mon projet angularjs, j'obtiens cette erreur:

ERROR in Cannot find module 'node-sass'

Après cela, je cours:

npm i node-sass

Maintenant, j'obtiens cette erreur:

gyp: No Xcode or CLT version detected!
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1

Pourquoi npm n'installe-t-il pas node-sass? Comment puis-je installer node-sass?

bier hier
la source
30
runnpm install --save-dev node-sass
Ashok R

Réponses:

369

Voici la solution:

sudo npm install --save-dev  --unsafe-perm node-sass

Prendre plaisir!

Alex Onozor
la source
21
Cela fonctionnait, mais si quelqu'un pouvait ajouter à la réponse sur les raisons pour lesquelles cela fonctionnait et que le simple npm install node-sassne fonctionnait pas, ce serait instructif.
Michael Potter
6
@AlexOnozor COMMENT ÇA MARCHE?
Bahman.A
13
tout ce dont j'ai besoin était d'installer node-sass dans les dépendances de développement npm install --save-dev node-sass
Subhash Diwakar
3
Cela a fonctionné pour moi. J'ai commencé à avoir ce problème lorsque j'ai installé le nœud 12 (lorsque j'ai commencé un nouveau projet angulaire dans Angular 8). Mon application angular 6 ne construirait plus et ne lèverait plus l'erreur concernant node-sass. All
Fixed
10
--save-dev est utilisé pour que votre application puisse trouver le module dans node_modules local. --save-dev ajoute un package à devDependencies dans package.json. --unsafe - perm est utilisé pour exécuter des scripts d'installation en tant que root. Pour éviter sudo, utilisez plutôt nvm. --unsafe - perm n'est vraiment pas nécessaire car sudo est déjà mentionné. Donc, la commande a pour effet de resserrer le script pour installer node-sass à tout prix.
Rahul Sharma
92
  1. Cette erreur est pour node-sass n'est pas présent ... pour résoudre cela, vous voulez simplement exécuter la commande suivante

npm install node-sass

kedar kokil
la source
36
ajouter en tant que devDependencies npm install --save-dev node-sass.
Ashok R
5
Ça n'aide pas. J'ai déjà installé node-sass une douzaine de fois (ce qui n'était pas facile), mais cela échoue toujours. Node-sass est clairement un problème.
mcv
2
@AshokR Pouvez-vous préciser exactement POURQUOI l'ajouter car devDependencies résout le problème? Comment ne va-t-il PAS échouer lorsqu'il est déployé pour produire?
Amogh Natu
19

Courir:

npm rebuild node-sass --force              

et cela fonctionnera très bien.

PENG ZHU
la source
2
Cela ne fonctionne pas très bien, malheureusement. Pour moi (sur Windows) le problème demeure.
mcv
14

Selon la page github de node-sass, la version de node.js prise en charge varie d'une version à l'autre.

https://github.com/sass/node-sass

entrez la description de l'image ici

Exemple: vérifiez la version du nœud que vous exécutez.

node -v
-> v12.0.0

vous avez besoin de node-sass v4.12 +. afin que vous puissiez

npm install node-sass@4.12.0

ou si 4.12.0 est la dernière

npm install node-sass@latest

( npm install node-sassinstallera la dernière version dans de nombreux cas, mais rappelez-vous qu'elle n'installe pas toujours la dernière (dans cet exemple 4.12.0) si la dépendance dans package.json est écrite comme ^ 3.0.0, ~ 4.11.0) Quelle est la différence entre tilde (~) et caret (^) dans package.json?

Enfin, utiliser sudo avec npm n'est pas une bonne pratique. Veuillez consulter cet article. https://medium.com/@ExplosionPills/dont-use-sudo-with-npm-still-66e609f5f92

ohkts11
la source
cette solution a fonctionné pour moi ... J'utilisais l'ancien macbook 2010, osx 10.12, et je correspondais à la version node-sass comme décrit ici, je l'ai résolu
Theuns Alberts
"npm install [email protected]" - a résolu mon problème - merci
gavgrif
13

Faire npm uninstall node-sasset puis npm i node-sass, pas travaillé pour moi.

La solution a fonctionné pour moi est npm install --save-dev node-sass.

Codage heureux.

Bandham Manikanta
la source
1
Merci @ShortlyFD :) :) .. Mise à jour de la réponse.
Bandham Manikanta
6

Cela a fonctionné pour moi ...

sudo npm rebuild node-sass --force
Vibhu kumar
la source
3
Donnez quelques explications pour qu'il soit facile de comprendre la solution
Harsha Biyani
4

node-sass n'est pas installé et cela peut être l'une des nombreuses raisons

Vous ne l'avez pas installé

npm install node-sass --save-dev

Vous rencontrez une erreur d'autorisation

sudo npm install --save-dev  --unsafe-perm node-sass

Vous avez eu un problème de mémoire car il a essayé de le créer (construire à partir du code C de votre plate-forme), cela s'applique à certaines plates-formes et versions de nœuds

node --max_old_space_size=8000 $(which npm) install node-sass --save-dev

Vos versions de nœud et de npm ne sont pas compatibles, ce qui a probablement généré un échec dans le processus de construction,

Dans ce cas, utilisez n ou nvm pour vous assurer que vous avez la même version dans l'environnement nouveau et d'origine, celui où cela a fonctionné, car c'est généralement en utilisant différentes versions dans différents environnements

Zardilior
la source
4

C'est ce qui a fonctionné pour moi. Je désinstalle d'abord node-sass. Puis réinstallez-le.

npm désinstaller node-sass
npm install --save-dev node-sass

Olu Ayeni
la source
3

Cela a échoué pour moi car j'utilisais la dernière version de node (12.7.0), j'ai ensuite dû installer explicitement la dernière version de node-sassavec:

npm install [email protected]

Andreas Gassmann
la source
2

Il y a un problème avec le téléchargement des dépendances npm en raison du réseau dont vous disposez. essayez de télécharger les dépendances npm dans un réseau ouvert. vous n'aurez aucun problème. Je suis également confronté à ce problème similaire et résolu enfin.

utilisez les commandes ci-dessous: npm install (il téléchargera toutes les dépendances) npm start pour démarrer l'application angulaire

Ravi Maroju
la source
@TinySkillz je pense qu'il mentionne les réseaux sans proxy
Akhil S Kamath
2

npm install node-sass fera le travail dans la plupart des cas, car il ajoutera le module de dépendance sass npm manquant n'existe pas ou il écrasera la version précédente en panne.

Pour les utilisateurs Mac, utilisez sudoavant les commandes ci-dessus.

Sur les machines Windows, cela npm rebuild node-sass --forcepeut ne pas fonctionner pour certains utilisateurs car il dit essentiellement: "Veuillez forcer npm à reconstruire le module de nœud sass pour moi". Cela ne fonctionnera pas car ce module n'existe pas.

Chaque fois que vous avez effectué npm installl'installation initiale, le module sass n'a pas été installé, c'est pourquoi ce problème se produit.

surendrapanday
la source
2

J'ai vérifié la version Node sur ma machine locale, c'est-à-dire v10.11.0.

Ensuite, lorsque j'ai vérifié ma machine de développement, là où l'erreur s'est produite, il y avait la version Node V.10.8.0 .

La mise à niveau de Node v10.11.0dans ma machine de développement a résolu le problème.

J'espère que cela t'aides.

davecar21
la source
1
c'est la réponse qui a fonctionné dans mon cas. Merci.
Adesh Kumar
2

Dans mon cas, je devais aussi effectuer:

npm install sass-loader

Pour résoudre le problème

Rob
la source
2

J'ai résolu ce problème sans installer node-sass par cette commande:

npm install node-sass@4.12.0 --no-save --unsafe-perm
Joffrey Hernandez
la source
1

Si vous courez

npm install node-sass

et cela ne fonctionne toujours pas, n'oubliez pas de modifier l'autorisation du dossier

Claudio Alberti
la source
1

L'un des cas est l'échec du processus de post-installation. Juste après l'installation de node-sass, le script de post-installation sera exécuté. Il nécessite Python et un générateur C ++ pour ce processus. Le journal 'gyp: Aucune version Xcode ou CLT détectée!' peut-être parce qu'il n'a pas trouvé de générateur C ++. Essayez donc d'installer Python et n'importe quel générateur C ++, puis placez leurs répertoires dans des variables d'environnement afin que npm puisse les trouver. (Je viens de Windows)

Van Hung
la source
1

J'ai rencontré cette erreur alors que j'utilisais le terminal git intégré de Microsoft Visual Studio Code. Pour une raison étrange, le code VS ne me permettait pas d'installer 'node-sass'. Ensuite, j'ai utilisé 'Git Bash' (qui a été installé avec git) et j'ai exécuté la commande suivante: npm install node-sass Cela a fonctionné pour moi. Je ne sais pas pourquoi et comment cela a fonctionné. Si quelqu'un a des explications, faites-le moi savoir.

snsakib
la source
Je soupçonne que c'est parce que vous deviez courir en tant qu'administrateur
punkologue
1

J'ai eu un problème similaire lorsque j'ai essayé de lancer un projet. J'ai d'abord désinstallé la version actuelle

npm uninstall node-sass

Ensuite, j'ai réinstallé la dernière version avec

npm install node-sass
Pamuditha Navaratne
la source
1

npm install --save-dev --unsafe-perm node-sass

Cela fera de la magie, vous pouvez l'utiliser avec sudo

yasir_mughal
la source
1

Mon problème était qu'un filtre Web ne m'autorisait pas à télécharger le package node-sass , lorsque j'ai exécuté la commande

npm i

Après l'installation des outils Windows Build

npm i -g windows-build-tools

il se construit node-sasstout seul et maintenant je peux l'utiliser.

PS: J'ai également installé Python 2.7.17 avant, mais je ne pense pas que cela a aidé.

essai
la source
0

J'ai également été confronté à cette erreur. Aucune des méthodes ci-dessus ne fonctionne pour moi. Veuillez suivre ceci car cela a fonctionné pour moi.

Pour installer node-sass dans Ubuntu 16 via npm: -

Vous pouvez installer avec la version npm 5.2.0

Si vous utilisez NVM: -

nvm installer 8.2.1
nvm use 8.2.1
npm installer node-sass

Si vous utilisez npm séparément, mettez à niveau ou rétrogradez la version de npm vers la version 5.2.0

npm installer node-sass
Paras Agarwal
la source
0

Vous devriez essayer de vérifier le journal généré par npm install.

J'ai rencontré les mêmes problèmes et j'ai trouvé l'erreur que python2 ne se trouve pas dans le chemin (variable d'environnement).

Après avoir installé Python, tout a bien fonctionné.

Nadreak
la source
0

La mise à niveau vers la dernière version de nodeJS a résolu mon problème

Omtechguy
la source
0

J'ai résolu ce problème en installant la version du nœud v10.16.10 .

Dionis Oros
la source
0

J'ai eu la même erreur lors de l'installation des dépendances dans Angular . J'ai essayé les techniques susmentionnées, mais aucune d'entre elles n'a fonctionné jusqu'à ce que j'aie supprimé package-lock.jsonce qui a été précédemment créé lors de l'exécution de Node v11 .

Maintenant, j'utilise Node v12 , c'est ainsi que j'ai été résolu.

Je répète si vous l'avez package-lock.jsonsupprimé, classer puis installer les dépendances.

Muhammad Waqas Dilawar
la source
0

vous devez installer node-sass dans la section dev de package.json

npm install --unsafe-perm node-sass --save-dev  
hamid_reza hobab
la source
0

Il semble y avoir un problème avec la version "node-sass": "4.5.3", essayez de mettre à jour vers la dernière version. Comme vous pouvez essayer d'ajouter ^ "node-sass": "^4.5.3"pour la dernière version

Abzy
la source
-3

exécutez simplement cette commande dans le terminal, elle installera la dernière version de node-sass

npm install node-sass

Mian Taimoor Tahir
la source