web-dev-qa-db-fra.com

npm ne fonctionne pas, obtenez toujours cette erreur -> Erreur: Impossible de trouver le module 'sommes-nous-sommes-il-encore'

j'ai essayé d'installer Grunt sur un Mac avec Yosemite. Le noeud est déjà installé dans la dernière version. Si je tape "noeud -v" dans le terminal, je reçois la ligne v0.12.5. c'est bon. mais quand je veux installer quelque chose avec NPM, je ne reçois qu'une erreur ... 

j'ai essayé "Sudo npm installer -g grunt-cli", "Sudo npm installer npm -g" et aussi avec "npm -v" je reçois toujours cette erreur ... 

Error: Cannot find module 'are-we-there-yet'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/usr/local/Cellar/node/0.10.22/lib/node_modules/npm/node_modules/npmlog/log.js:2:16)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)

quelqu'un sait quel est le problème ou mieux une solution?

53
Gregor Oi

Vous avez cassé npm en supprimant certaines de ses dépendances.

are-we-there-yet est une dépendance de npmlog qui est une dépendance de npm elle-même, et vous l'avez en quelque sorte supprimée. La solution simple habituelle dans de tels cas est de réinstaller un paquet, mais cela ne fonctionne pas si npm ne peut pas fonctionner. Heureusement, l'archive npm est fournie avec des dépendances et par conséquent installer npm de toutes pièces est aussi simple que de décompresser une archive.

1) Allez dans le répertoire global node_modules (que npm root -g afficherait-il si vous pouviez le lancer):

$ cd /usr/local/lib/node_modules

2) Supprimez le répertoire npm cassé ou déplacez-le ailleurs (notez qu'il peut être nécessaire d'élever les autorisations pour cela et les étapes suivantes):

$ mv npm /tmp

3) Téléchargez et décompressez les nouvelles variables npm du registre (remplacez la version que vous souhaitez installer, par exemple 3.10.8):

$ curl -L registry.npmjs.com/npm/-/npm-{VERSION}.tgz | tar xz --transform="s:^package:npm:"

Vous pouvez en automatiser une partie avec ce script d'installation:

$ curl -L https://www.npmjs.com/install.sh | sh

À ce stade, npm devrait fonctionner à nouveau.

89
eush77

Accédez au répertoire global node_modules (npm root -g si vous ne le savez pas).

$ cd /usr/local/lib/node_modules

curl -L https://www.npmjs.com/install.sh | sh
11
Sam Quayle

J'ai essayé fébrilement de me procurer la dernière version de node et npm sur ma machine centos 7.

Malheureusement, cette erreur me tourmente depuis près d’une semaine. Et j'ai enfin trouvé une solution qui fonctionne.

Si votre npm est actuellement endommagé, il est plus simple de réinstaller une version fonctionnelle.

J'ai installé du code. En supposant que git soit installé, les commandes suivantes permettront d'atteindre cet objectif

cd ~
git clone https://github.com/nodejs/node.git nodejs_code
cd nodejs_code
./configure
make
make install

Une fois que vous avez installé une nouvelle copie de npm et de node, qui d’ailleurs n’est pas la version stable (à la place, son bord droit depuis le source).

La version installée du noeud au moment de l'écriture était 5.0.0-pre, ce qui est trop nouveau pour moi, et npm était la version 2.14.4, qui est trop ancienne pour moi.

Pour obtenir la dernière version sur le noeud, je vais installer le paquet 'n' en utilisant npm. En utilisant n, je vais installer la dernière version de node. 

npm install -g n
n stable

Dans le cas de l'utilisateur root (que j'utilise pour installer des packages globaux), je devais ajouter la ligne suivante à mon fichier ~/.bashrc, ce qui permettrait à l'utilisateur root d'accéder aux commandes dans les commandes/usr/local/bin. (Vous n'avez peut-être pas besoin de cette étape)

export PATH=/usr/local/bin:$PATH

À ce stade, ma version du noeud est la version 4.0.0, qui est la dernière version stable du noeud.

maintenant pour mettre à jour npm, ce qui était la chose la plus agaçante de tous les temps.

La mise à jour directe vers la version la plus récente entraînait toujours le message "sommes-nous-là-encore", ce que je ne pouvais que supposer comme "NON, et quitte le processus de demande ou je retourne ce noeud"

Au lieu de cela, j’ai trouvé que l’installation préalable via la version 3.3.3 résoudrait ce problème.

npm install -g [email protected]

la version 3.3.3 est maintenant installée et fonctionne sans l'erreur "sommes-nous-y-sommes-encore". 

Dieu merci. Gardez vos bras à l'intérieur et vos ceintures de sécurité attachées, parce que nous y sommes presque .....

npm install -g npm

et avec cette dernière commande, j'ai pu utiliser la dernière version de npm, avec la dernière version stable de node. Ce qui au moment de l'écriture est 3.3.5

A partir de maintenant, mes commandes sont les suivantes.

n stable
npm install -g npm

chaque fois que je les lance à partir de maintenant, on m'accorde des voyages tranquilles sans que les enfants se plaignent à l'arrière.

Remarque

Étant donné que je modère un certain nombre de serveurs, dont aucun ne vient avec un nœud par défaut, je dois effectuer cette tâche encore et encore.

C'est pourquoi j'ai pris sur moi de transformer ces instructions en script.

Prendre plaisir: 

importnode.sh

#!/bin/bash

cd ~
git clone https://github.com/nodejs/node.git nodejs_code
cd nodejs_code
git reset --hard
git pull Origin master
./configure
make
make install

if [[ `cat ~/.bashrc |grep -E "PATH.*/usr/local/bin:.*"` ]];
then
    echo "Already Done";
else
    echo "export PATH=/usr/local/bin:\$PATH" >> ~/.bashrc;
    export PATH=/usr/local/bin:$PATH;
fi;

npm install -g n
n stable

npm install -g [email protected]

npm install -g npm

La seule chose qui reste à faire après avoir ajouté ceci dans nodeimport.sh est de le rendre exécutable et de l’exécuter.

$ chmod +x importnode.sh
$ ./importnode.sh

Attendez un peu, tout est installé.

7
The Lazy Coder

Ce que eush77 a dit, mais si vous êtes sous Windows:

téléchargez le dernier package à partir de https://nodejs.org/download/release/npm/

décompressez et remplacez le répertoire "npm" dans le répertoire nodejs node-modules (par défaut, C:\Program Files\nodejs\node_modules)

5
user2656961

Même si j'avais le même problème, le moyen le plus simple de résoudre les étapes ci-dessous a fonctionné pour moi.

1) désinstaller Nodejs.

2) Allez au C:/User/AppData/Roaming.

3) Supprimer le répertoire npm.

4) Réinstallez Nodejs (last v6.11.3 , includes npm 3.10.10 ).

5) Terminé Maintenant, essayez de vérifier (npm -v) fonctionnera correctement.

3
santhosh

J'ai suivi les instructions ci-dessus (ce que eush77 a dit) pour supprimer le dossier npm du dossier node_modules. Mais il reste le lien rompu à l'origine de ce message d'erreur. 

/usr/local/bin/npm: Aucun fichier ni répertoire de ce type

alors supprimez le lien brisé:

rm /usr/local/bin/npm

et ensuite le faire pointer au bon endroit comme ceci:

Sudo ln -s /usr/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm

1
Walker Rowe

Vous pouvez également réinstaller node à partir de https://nodejs.org/en/download/current/

1
ocolot

Pour moi, cela avait à voir avec des installations corrompues et peut-être que les dépôts d'ubuntu n'étaient pas compatibles ou les plus récents. Les éléments suivants ont abouti à une installation de npm/node qui fonctionne:

Sudo curl -sL https://deb.nodesource.com/setup_4.x | Sudo -E bash - Sudo apt-get install -y nodejs

https://github.com/nodesource/distributions

0
edencorbin

Je l'ai réinitialisé en utilisant le paquet d'installation officiel trouvé: https://nodejs.org/fr/

Jouer avec n et nvm a finalement corrompu les packages node_modules pour moi en fournissant des packages incompatibles avec la version actuelle de Node. 

Je soupçonne que cela fonctionnerait pour d’autres environnements car il couple l’installation de Node AND npm.

0
Yann VR

Pour moi, je devais supprimer le dossier node_modules de mon projet. J'ai ensuite nettoyé le cache juste au cas où et ai fait une nouvelle npm i et il a été capable de faire la post-installation de node-sass et non une erreur à are-we-there-yet manquant. 

Si le déplacement global node_modules ne fonctionne pas pour vous comme dans les solutions ci-dessus, essayez:

  1. Supprimez le node_modules.__ local de votre projet.
    • Dans la racine de votre projet: rm -rf node_moduldes
  2. npm cache clean -f
  3. npm i 
0
Mikeumus

Je viens d'avoir le même problème lors du déploiement du projet sur le serveur local lorsque j'appelais la commande yarn dev.

Après avoir parcouru tous les blogs, articles et autres trucs, je l’ai obtenu simplement en utilisant ces 2 commandes.

  1. npm list vérifier à quelle version il pointe actuellement. Pour moi, quand j'ai eu cette erreur. Cela indiquait le système.

  2. Je viens d'utiliser le nvm use v{VERSION} par exemple. nvm use v10.5.0 (pour moi) et ça a fonctionné. Toutes les erreurs ont disparu et le projet a été déployé avec succès en appelant le yarn dev. Essayez ceci avant de faire autre chose. Je recommande fortement.

0
SupRemo