web-dev-qa-db-fra.com

npm-cli.js introuvable lors de l'exécution de npm

Habituellement, je peux installer une bibliothèque en utilisant npm mais aujourd'hui, lors de l’installation de yeoman, j’ai rencontré cette erreur. S'il vous plaît aider à comprendre ce qui est la cause première.

D:\Works\phonegap\ionic\todo>npm install -g yo
    module.js:340
    throw err;
          ^
Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\node_modules\npm\bin\npm-cli.js'

at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3

J'ai regardé dans le dossier:

C:\Program Files\nodejs\node_modules\npm\bin \

mais ne voyez pas le dossier node_modules car l'erreur est décrite.

J'essaie aussi de trouver npm-cli.js et de voir que c'est en fait dans C:\Program Files\nodejs\node_modules\npm\bin\

59
user1192476

Il s'avère que le problème est dû au mauvais chemin du noeud dans la variable système. Le chemin est actuellement pointé sur 

(Je ne sais vraiment pas quand je l'ai modifié)

C:\Program Files\nodejs\node_modules\npm\bin

alors je change pour 

C:\Program Files\nodejs

et cela fonctionne comme un charme. 

69
user1192476

Vous devez l'exécuter en ligne de commande.

SET PATH=C:\Program Files\Nodejs;%PATH%
22
Prathap Kudupu

Vous pouvez également avoir ce problème si dans votre chemin vous avez C:\Program Files\nodejs et C:\Program Files\nodejs\node_modules\npm\bin. Retirer ce dernier du chemin

20
Peter Sun

Ce n'est pas le même cas que dans la question, mais pourrait être utile pour quelqu'un confronté au même problème. Sous Windows, si vous appelez les commandes npm à partir d'un outil d'automatisation ou de configuration, vous risquez de rencontrer l'erreur suivante:

Error: Cannot find module 'SOME_PATH\node_modules\npm\bin\npm-cli.js'

SOME_PATH n'est pas Program Files/... mais un répertoire de projet à la place. Donc, npm essaie de trouver npm-cli.js dans le répertoire racine du projet au lieu de le rechercher dans Program Files/nodejs.

La raison est le script npm.cmd:

:: Created by npm, please don't edit manually.
@ECHO OFF

SETLOCAL

SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
  SET "NODE_EXE=node"
)


SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
  SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
  SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)

"%NODE_EXE%" "%NPM_CLI_JS%" %*

Ce script utilise %~dp0 pour rechercher le fichier npm-cli.js, mais certains outils d'automatisation pourraient définir un répertoire de travail de la manière suivante: %~dp0 pointe vers le répertoire de projet local, de sorte que le script fonctionne correctement.

Une solution possible pourrait être de changer les appels npm de cette

npm.cmd install

pour ça

cmd.exe /c npm.cmd install
11
admax

Je viens de réparer mon installation NodeJS et cela a fonctionné pour moi!

Allez à Control Panel\All Control Panel Items\Programs and Features -> trouver NodeJS et choisissez l’option réparation pour la réparer. J'espère que cela t'aides.

10
3AK

Copiez le répertoire nommé "npm" à partir du chemin de votre noeud installé (dans mon cas, le répertoire npm était disponible dans "C:\Program Files\nodejs\node_modules").

Accédez à "C:\Utilisateurs \% USERNAME%\AppData\Roaming\npm\node_modules" et collez-y le répertoire "npm" copié. 

Cette méthode a fonctionné pour moi quand j'ai eu la même erreur. . . 

7
Manoj

Sur un Mac:

J'exécutais ceci du plugin Maven com.github.eirslett Frontend quand j'ai eu la même erreur.

Finalement, j'ai dû:

Installez Node.js via le téléchargement du programme d’installation ici: http://nodejs.org/

Supprimez tous les dossiers node/ et node_modules/ dans la structure de construction maven.

5
RedYeti

Ne changez aucune variable d'environnement

C’est l’installateur qui est à l’origine du problème et n’a pas installé tout le fichier requis.

Je viens de réparer l’installation de NODEJS sur Windows 7 et cela fonctionne très bien. Peut-être que vous pouvez réinstaller, juste au cas où quelque chose ne fonctionne pas.

5
TARJU

J'ai rencontré le même problème avec le noeud 8.5 lors de l'installation avec nvm. La solution ci-dessous a fonctionné pour moi

$ nvm uninstall 8.5
8.5.0
Uninstalling node v8.5.0...Error removing node v8.5.0
Manually remove C:\Users\Omkar\AppData\Roaming\nvm\v8.5.0.

$ nvm install 8.5
8.5.0
Downloading node.js version 8.5.0 (64-bit)...
Complete
Creating C:\Users\Omkar\AppData\Roaming\nvm\temp

Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...

Installation complete. If you want to use this version, type

nvm use 8.5.0

Omkar@VAST-0137 MINGW64 /d/code

Cela a fonctionné pour moi car le noeud 8.5 n'était pas correctement installé auparavant avec nvm. Je l'ai compris car les dossiers et les fichiers "npm\bin\npm-cli.js" n'étaient pas créés dans node_modules auparavant.

4
olagu

Aucune des autres réponses n'a fonctionné pour moi.

Voici ce que j'écris (dans un shell git bash sur Windows):

PATH="/c/Program Files/nodejs/:$PATH" npm run yeoman
4
edi9999

En plus de ce qui précède, j'ai dû supprimer C:\Users\%USERNAME%\AppData\Roaming\npm également . Cela a aidé.

3
Romko

En fait, deux chemins ont été ajoutés à la variable système de votre système lors de la mise à niveau vers la dernière version de nodejs.
1. C:\Program Files\nodejs
2. C:\Program Files\nodejs\node_modules\npm\bin
Les utilisateurs de Windows 7/8/8.1 n’ont pas d’interface graphique intelligente pour les variables d’environnement Windows 10.
Quoi qu'il en soit, tout ce que vous avez à faire est de rechercher "C:\Program Files\nodejs\node_modules\npm\bin" et de le supprimer.
En outre, supprimez "C:\Users\%USERNAME%\AppData\Roaming\npm" de vos variables d’environnement. Je poste cette réponse parce que j'ai perdu 10 heures à chercher la solution sur Internet. En combinant la réponse ci-dessus, je résous enfin le problème.

2
hamzox

Cela a commencé pour moi après avoir installé GoogleChrome/puppeteer , la solution consistait à réinstaller npm:

$ npm i npm@latest

ou

$ npm install npm@latest
2
mythz

npm install -g npm @ [version] a résolu le problème

1
repo

J'ai eu le même problème sur Windows. Je viens de réparer Node et cela a bien fonctionné après un redémarrage de la commande sous Windows.

1
Hello Universe

il suffit de lancer cette commande:

npm i npm@latest -g
1
AissaDevLab

pour les gars qui viennent encore autour de ce fil ...

  • installez le noeud depuis le site officiel (vérifiez npm et la version du noeud pour vérifier s’ils sont installés correctement, oui dans un nouveau terminal/cmd),
  • installer nvm maintenant et quand Indiquez si vous souhaitez gérer le nœud actuel avec nvm, cliquez sur Oui.
  • ouvrez une nouvelle cmd et exécutez nvm sur.

Terminé. moyen facile.

0
Keshav Sharma

Aucune des solutions ici ne fonctionnait pour moi, mais après avoir redémarré mon système et réapparu npm install, cela a fonctionné… .. Je suppose qu'un ou plusieurs processus que j'avais précédemment exécutés s'y sont tenus.

Un simple redémarrage de PC sur Windows 10 a fait la magie pour moi!  

0
papigee

Solution pour moi dans VS2017 (Sous Outils | Options ...)

 Under Tools | Options ...

J'ai changé le chemin en: C:\Program Files\nodejs

0
Michael Maier

créez un dossier npm manuellement dans node_modules et réexécutez le programme d'installation avec les options de réparation. Il copie les fichiers manquants.

0
Saurabh Nainwal

Dans mon cas, j’utilisais nvm-windows 1.1.6 et j’ai mis à jour ma version de nodejs en utilisant nvm install latest, qui m’a finalement indiqué que nodejs et npm étaient installés. Cependant, lorsque j’ai essayé de faire npm install,

Erreur: Impossible de trouver le module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'

en vérifiant la structure nvm-windows, j’ai trouvé que C:\Program Files\nodejs était lié de manière symbolique à %APPDATA%\nvm\NODE_VERSION, (NODE_VERSION était v9.7.1 dans mon cas) et que le dossier node_modules n’ayant rien à l’intérieur, était la cause de cette erreur. La solution consistait à copier le dossier npm à partir de l'un des dossiers node_modules de mes versions précédentes et à le coller. J'ai ensuite mis à jour mon npm avec npm install npm@next -g et tout a recommencé à fonctionner.

0
Cemal

Je rencontre ce problème lors de l’installation de node9.0.0 sur Windows7à la fin, la solution consistait simplement à supprimer Npm Npm.cmd Npx Npx.cmd De .C:\Program Files\nodejs\node_modules\npm\bin Avant cela, une solution de contournement devait être exécutée C:\Program Files\nodejs\npm C'est donc un moyen de voir si vous avez le même problème que j'ai eu.

0
Griffin

Mettre à jour NPM vers la dernière version a fonctionné pour moi:

npm install npm@latest -g
0
Zylo

Pour moi, rien de ce qui précède n’a fonctionné, j’ai juste remarqué que chaque fois que je faisais une "installation npm ...", n’importe quelle commande npm cessait de fonctionner. Donc, chaque installation que je fais, je dois exécuter le programme d’installation de NodeJS et sélectionner "réparer" ..__ jusqu’à ce que je trouve une vraie solution :)

0
Olivier