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\
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.
Vous devez l'exécuter en ligne de commande.
SET PATH=C:\Program Files\Nodejs;%PATH%
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
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'
où 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
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.
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. . .
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.
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.
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.
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
En plus de ce qui précède, j'ai dû supprimer C:\Users\%USERNAME%\AppData\Roaming\npm
également . Cela a aidé.
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.
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
npm install -g npm @ [version] a résolu le problème
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.
il suffit de lancer cette commande:
npm i npm@latest -g
pour les gars qui viennent encore autour de ce fil ...
Terminé. moyen facile.
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!
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.
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.
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.
Mettre à jour NPM vers la dernière version a fonctionné pour moi:
npm install npm@latest -g
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 :)