Nvm-windows: NPM non installé avec le nœud

Créé le 15 août 2016  ·  66Commentaires  ·  Source: coreybutler/nvm-windows

Mon environnement

  • [ ] Windows 7 ou inférieur (pas vraiment pris en charge en raison de la fin de vie - voir le wiki pour plus de détails)
  • [ ] Windows 8
  • [ ] Windows 8.1
  • [x] Windows 10
  • [ ] Windows 10 IoT Core
  • [ ] Serveur Windows 2012
  • [ ] Windows Server 2012 R2
  • [ ] Serveur Windows 2016
  • [ ] Mon installation Windows n'est pas en anglais.

    J'ai déjà...

  • [x] lisez le README pour être au courant des problèmes de npm et d'antivirus.

  • [x] a examiné le wiki pour s'assurer que mon problème n'a pas déjà été résolu.
  • [x] vérifié J'utilise un compte avec des privilèges administratifs.
  • [x] a recherché les problèmes (ouverts et fermés) pour s'assurer qu'il ne s'agit pas d'un doublon.
  • [x] s'est assuré qu'il ne s'agissait pas d'une question sur l'utilisation de NVM pour Windows, car

    Mon problème est lié à (cochez uniquement ceux qui s'appliquent) :

  • [ ] paramètres.txt

  • [ ] prise en charge des proxys
  • [ ] Prise en charge 32 ou 64 bits

    Comportement prévisible

Après avoir installé nvm-windows à l'aide du programme d'installation, puis installé une version de nœud à l'aide de >nvm install latest ou >npm install 4.4.7 . Je m'attends à pouvoir taper >npm help dans la ligne de commande pour vérifier que npm fonctionne (et bien sûr l'utiliser pour installer des packages).

Comportement réel

Alors que nvm indique que npm a été installé, les dossiers contenant node_modules sont vides :
...\AppData\Roaming\nvm\v4.4.7\node_modules (vide)
C:\Program Files\nodejs\node_modules (vide)

Étapes pour reproduire le problème :

J'ai d'abord installé nvm 1.1.1 à partir d'ici : https://github.com/coreybutler/nvm-windows/releases

J'ai installé la version 4.4.7 du nœud en utilisant nvm install 4.4.7 . Toutes les commandes nvm fonctionnent correctement, y compris nvm use et je peux exécuter un script hello world dans node.

Lors de l'installation, j'obtiens la sortie de ligne de commande suivante :

>nvm install 4.4.7
Downloading node.js version 4.4.7 (64-bit)... Complete
Creating C:\Users\myusernamewithoutspaces\AppData\Roaming\nvm\temp

Downloading npm version 2.15.8... Complete
Installing npm v2.15.8...

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

nvm use 4.4.7

Lorsque je tape ensuite npm help dans la ligne de commande, j'obtiens cette erreur :

module.js:327
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:968:3
 module.js:327
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:968:3

Merci pour toute aide!

Commentaire le plus utile

Avait ce même problème. Ce qui a résolu le problème pour moi : suppression de "C:\Users\{your_username}\AppData\Roaming\npm" de ma variable PATH. Je pense que c'était les restes d'une installation de nœud précédente.

Tous les 66 commentaires

METTRE À JOUR
En examinant le message d'origine, j'ai remarqué ce bloc :

>nvm install 4.4.7
Downloading node.js version 4.4.7 (64-bit)... Complete
Creating C:\Users\myusernamewithoutspaces\AppData\Roaming\nvm\temp

Downloading npm version 2.15.8... Complete
Installing npm v2.15.8...

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

nvm use 4.4.7

Notez que le nvm use 4.4.7 fait partie des _instructions_ que NVM4W génère une fois l'installation d'un nouveau nœud terminée. Si vous n'exécutez pas réellement nvm use x.x.x , alors le nœud n'est pas reconnu, et donc npm n'est pas reconnu. Assurez-vous d'exécuter nvm use x.x.x (où xxx est la version que vous souhaitez exécuter) avant d'essayer d'exécuter des commandes npm !

Réponse originale
Êtes-vous derrière un proxy? Ce problème a déjà été rencontré par certains utilisateurs... principalement ceux qui utilisent des proxys.

Je vérifierais que le C:\Program Files\nodejs\node_modules\npm\bin existe lors de l'utilisation d'une version spécifique.

Cela peut valoir la peine d'essayer de désinstaller/réinstaller la version souhaitée. À la fin de la journée, NVM4W passe simplement le contrôle à node/npm une fois que les fichiers sont téléchargés/extraits. Le défi est que parfois le téléchargement peut afficher un faux positif (c'est-à-dire qu'il n'a pas terminé le téléchargement de npm mais qu'il l'a fait). Je soupçonne que cela pourrait être ce qui se passe pour vous.

Merci @coreybutler. Je ne suis pas derrière un proxy, mais il y a un pare-feu basique. J'ai essayé une nouvelle installation de NVM4W et de nvm install 4.4.7 avec le pare-feu désactivé. Le résultat est le même - à la fois le \AppData node_modules est complètement vide et le dossier \nodejsnode_modules est vide.

D'autres idées ? Je vais également vérifier la documentation d'installation du nœud sur les problèmes d'installation de npm s'il transfère le contrôle

Je ne pense pas que vous ayez besoin d'installer NVM4W avec le pare-feu désactivé (puisqu'il répondait)... mais vous voudrez peut-être tester l'exécution de nvm install x.x.x avec le pare-feu désactivé. Je soupçonne toujours que le téléchargement npm ne se termine pas à 100%.

oui, j'ai fait l'installation avec le pare-feu désactivé et cela n'a pas aidé. Je ne sais pas comment tester ce qui ne va pas avec le téléchargement ou autrement. Si vous avez d'autres idées dites le moi !

Je rencontre le même problème avec nvm 1.1.1 et Windows 10. Y a-t-il des informations dont vous avez besoin pour aider au débogage. Celui-ci est vraiment bizarre pour moi. Cela fonctionnera pendant un certain temps, puis cessera de fonctionner et ne pourra plus trouver npm.

@NealHumphrey si vous désinstallez la version que vous utilisez, supprimez le dossier d'installation de cette version dans votre racine nvm, puis réinstallez, cela fonctionne généralement pendant quelques semaines pour moi, puis il cessera de fonctionner avec la même erreur que vous avez signalée.

@LeeGDavis - Je n'ai jamais réussi à le faire fonctionner, même en réinstallant la version Node ou en réinstallant NVM4W puis Node.

Pour le débogage - lorsque vous parvenez à le faire fonctionner, quel est le contenu de ces deux dossiers ?
...\AppData\Roaming\nvm\v4.4.7\node_modules
C:\Program Files\nodejs\node_modules

Et puis la prochaine fois qu'il cessera de fonctionner pour vous, pouvez-vous vérifier à nouveau quel en est le contenu ?

@LeeGDavis - S'il cesse de fonctionner après un certain temps, il se passe certainement quelque chose dans votre environnement. NVM4W ne touche à rien, à moins que vous n'exécutiez une commande nvm . Quelque part, quelque chose est en train d'être modifié. Il serait utile d'en savoir plus sur l'environnement. Par exemple, êtes-vous sur un domaine Active Directory ? Avez-vous des tâches programmées ? Avez-vous un antivirus installé, et si oui, lequel(s) ?

@NealHumphrey - Juste pour clarifier, vous exécutez nvm install pour installer le nœud avec le pare-feu désactivé, au lieu d'exécuter l'ensemble de l'installation nvm (GUI) avec le pare-feu désactivé ? Si vous souhaitez vérifier les téléchargements, vous pouvez comparer la somme de contrôle des versions (disponible sur nodejs.org).

Avoir le même problème. J'ai désactivé mon pare-feu McAfee et l'installation semble avoir fonctionné cette fois : le dossier \node_modules\nvm est là.

Testé l'installation en basculant vers ma nouvelle version de Node (6.2.2) et en exécutant la commande npm --version et il a renvoyé 3.9.5

MISE À JOUR : a dû désinstaller pour des raisons. Lorsque j'ai réinstallé (pare-feu toujours désactivé), le problème est réapparu : le dossier \node_modules\nvm\ est manquant. J'ai essayé d'utiliser le terminal GIT BASH et l'invite de commande en mode administrateur pour installer Node, mais toujours le même résultat.

MISE À JOUR 2 : Désactivation du pare-feu et de l'analyseur de virus et cela a fonctionné à nouveau, en utilisant l'invite de commande en mode administrateur.

@NealHumphrey et @coreybutler Le problème s'est à nouveau produit en moins d'une semaine, je suis donc passé au nœud vanille, mais je reviendrai à nvm ce week-end pour aider au débogage.

Je ne suis sur aucune configuration de répertoire contrôlée/active et aucune tâche planifiée. En ce qui concerne l'installation, nvm ne signale jamais d'échec, mais la suppression du dossier d'installation à la racine de nvm est nécessaire pour le faire fonctionner à nouveau une fois que l'exécutable est supprimé du chemin ou quoi qu'il se passe ...

J'ai eu exactement le même problème. MVN désinstallé, désactivé la protection en temps réel et le pare-feu Mcafee, réinstallé et l'erreur a disparu.

Certainement un problème d'antivirus. Toutefois; il semble que cela puisse être quelque chose qui pourrait être modifié dans les paramètres. J'ai vérifié ce matin que NVM4W est sur liste blanche par Mcafee.

La boîte Windows que j'utilise est une installation vanille Windows 10 pro. Aucun autre antivirus ou pare-feu tiers installé, à part le défenseur et le pare-feu Windows par défaut, je suppose. Ce qui est étrange pour moi, une version particulière (du nœud installé via nvm4w) fonctionnera pendant un certain temps avant qu'elle ne semble cesser de fonctionner et que le seul moyen de la restaurer semble être ce que j'ai décrit ci-dessus.

@LeeGDavis Windows Defender peut également supprimer des fichiers. Toutefois; NVM4W est également sur liste blanche. Je vous recommande de revoir votre %PATH% la prochaine fois que cela se produit. Je commence à soupçonner que dans votre cas, l'AV modifie peut-être le chemin. En d'autres termes, tout peut être correct, mais Windows ne le trouve pas. Si cela continue, ouvrez un nouveau problème afin que nous puissions le suivre.

Quant à ne pas installer npm, je pense toujours que c'est juste le pare-feu/antivirus qui bloque le téléchargement de npm à partir du site de distribution des nœuds. Si la solution de @frankorama fonctionne, c'est le cas et il n'y a pas grand-chose à faire dans NVM4W pour empêcher cela. Je peux essayer d'ajouter des exceptions au pare-feu dans le programme d'installation à un moment donné, mais cela ne signifie pas qu'elles ne seront pas écrasées par un logiciel tiers.

@coreybutler @LeeGDavis Windows Defender était le coupable pour moi

J'ai eu ce problème. (Windows 7x64, nvm v1.1.1)
Après quelques recherches, j'ai découvert qu'il semble que le problème soit dans os.Rename(tempDir+"\\nvm-npm\\npm-"+npmv,env.root+"\\v"+version+"\\node_modules\\npm") , car toutes les étapes précédentes ont été effectuées correctement.
Je peux proposer que lorsque cette commande est exécutée, dir est toujours occupé en raison des commandes de renommage précédentes.
Peut-être réorganiser les commandes vers quelque chose comme

os.Rename(tempDir+"\\nvm-npm\\npm-"+npmv,env.root+"\\v"+version+"\\node_modules\\npm")
os.Rename(env.root+"\\v"+version+"\\node_modules\\npm\\bin\\npm",env.root+"\\v"+version+"\\npm")
os.Rename(env.root+"\\v"+version+"\\node_modules\\npm\\bin\\npm.cmd",env.root+"\\v"+version+"\\npm.cmd")

ou détectez une erreur et réessayez (après 1 seconde de sommeil)

UPD
J'ai tapé le dernier résultat de renommer ang got
"renommer .... L'accès est refusé."

@se-m Merci pour la perspicacité. L'ordre est important, mais il semble qu'il y ait un problème de synchronicité... du moins dans votre environnement. Avec quelle version de Go exécutez-vous vos tests ?

Si le mouvement des fichiers est effectivement le problème, je n'aime pas utiliser les dormeurs car cela ne résout pas vraiment le problème. os.Rename _devrait_ simplement déplacer les fichiers, mais il semble que cela ne soit pas fiable.

@coreybutler j'ai utilisé go1.7 pour mon test (il suffit d'imprimer l'erreur)
Je ne vois pas la différence entre le "déplacer d'abord les fichiers du dossier puis le dossier" et le "déplacer d'abord le dossier puis en sortir les fichiers" (les chemins ont été corrigés dans l'exemple).

Si vous n'utilisez pas les dormeurs ou ne réorganisez pas, je ne peux que suggérer d'utiliser une commande "copier" au lieu de "déplacer".

À tous.
Vérifiez que vous l'avez "problème de synchronicité" (après nvm install xxx) :

  1. Il y a 2 fichiers "npm.cmd" et "npm" dans le dossier du nœud nouvellement installé (vx.xx)
  2. Il n'y a pas de dossier "npm" dans node_modules (vx.xx/node_modules)

@se-m Oui, le plan serait d'utiliser une copie. De cette façon, une somme de contrôle peut être associée au téléchargement, puis à nouveau une fois la copie terminée. La journalisation peut être appliquée aux deux étapes, en vérifiant l'intégrité des fichiers et les autorisations.

Plutôt que d'utiliser des dormeurs ou une copie supplémentaire, j'attraperais simplement l'exception connue et réessayerais, de cette façon, vous n'aurez pas de condition de concurrence et vous pourrez réessayer X fois avant d'abandonner pour faire face aux disques lents de "rouille en rotation" ou au cas où quelqu'un s'installe sur un profil itinérant synchronisé sur le réseau.

Je sais que c'est un peu ancien, mais je peux confirmer que la désactivation de McAfee lors de l'installation a fonctionné.

J'ai également dû désactiver 360 TS pour que cela fonctionne, merci

Avait ce même problème. Ce qui a résolu le problème pour moi : suppression de "C:\Users\{your_username}\AppData\Roaming\npm" de ma variable PATH. Je pense que c'était les restes d'une installation de nœud précédente.

J'ai le même problème @office où nous avons mcAfee Enterprise, quand cela fonctionne bien sur mon ordinateur personnel.
Je résous de cette façon (c'est la plus rapide), je télécharge les packages NPM et je copie le contenu dans le dossier node_modules/npm. Ça fonctionne bien.

@yuxblank Je suis dans le même bateau que vous - McAfee Enterprise au bureau. Le désactiver n'est pas une option. Votre solution m'a aidé.

@yuxblank @manolkalinov

J'ai essayé la méthode suggérée et bien que npm fonctionne, les installations globales ne fonctionnent toujours pas pour moi - avec le même comportement que npm, les node_modules étant simplement vides à part ce que j'ai copié manuellement.

Est-ce que c'était la même chose pour vous aussi ?

J'ai une nouvelle installation de Windows 10 Pro sans npm ou nœud précédemment installé et actuellement j'ai un nœud installé via nvm install latest mais pas de npm

Même problème sous Windows 10 pro lors de l'installation de 8.9.1. Vous avez un nœud, mais nvm\v8.9.1node_modules est vide, tout comme c:\program files\nodejsnode_modules. L'ordinateur de travail a McAffee qui ne peut pas être désactivé. Je vais télécharger npm et l'installer manuellement.

+1
avant d'installer la nouvelle version du nœud (9.5.0)
après avoir installé nvm et essayé de passer à la version 6.10.0 et il a basculé mais si
Je lance npm start puis j'ai vu :

module.js:471
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3
module.js:471
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3

Si je suis revenu à la version de nœud 9.5.0 installée (installée sans utiliser nvm), alors npm start fonctionne

Nouvelle installation de Windows 10, pas d'antivirus, pas de npm ... :(

même chose ici, désactivez la protection en temps réel et le pare-feu de Mcafee, réinstallez-le et npm est maintenant disponible.

désactiver le pare-feu McAfee et la protection en temps réel a effectué une nouvelle installation et a obtenu une erreur : opération illégale EISDIR sur un répertoire, lisez.
ERREUR DE TYPE : Impossible de lire la propriété 'get' non définie dans errorHandler (C:\Program Files\nodejsnode_modulesnpm\lib\utilserror-handler.js:205:18)

en utilisant windows 10
nœud version 8.9.4

L'antivirus Avira a causé ce problème sur mon PC. Win10, n'importe quel nœud et npm

Je réinstalle le système d'exploitation de Windows 10 à 7 et utilise NVM sans aucun problème 😁

J'ai eu le même problème, et j'ai trouvé totalement par hasard une solution de contournement possible (mais non vérifiée car je ne voulais plus désinstaller ma nouvelle version de node). Alors voici ce qui s'est passé :

  • une fois l'installation de nvm en cours d'exécution, un dossier temporaire est créé dans AppData/Roaming/nvm/
  • quand il est créé je suis allé dans le dossier temp -> nvm-npm -> npm-xyz avec un explorateur (ou peut-être dans nvm-npm je ne me souviens pas bien)
  • Je pense qu'en explorant ce dossier, il le verrouille en quelque sorte et empêche Windows de le supprimer
  • Et puis j'ai observé qu'à ce moment-là, le dossier npm était correctement déplacé vers nvm/vx.yy/node_modules, alors qu'il échouait toujours auparavant.

Donc, selon ces observations, je suppose que, peut-être, pendant l'installation, le dossier temporaire est supprimé plus rapidement que la commande de déplacement de temp vers le dossier du nœud cible, laissant la commande de déplacement sans fichiers à déplacer.

J'ai rencontré ce problème, mais j'ai pu le résoudre en réexécutant simplement la commande nvm use.

la dernière version de nvm a résolu le problème pour moi.

Après de nombreux essais, la seule désactivation de la "Protection d'accès" de McAfee permet à nvm d'installer enfin correctement npm !
Ce qui est vraiment dérangeant, c'est que McAfee n'affiche aucun log pour ça : "Aucune menace" monseigneur...oui j'ai juste empêché la création de quelques fichiers, je dirais que c'est un événement !

Malheureusement pour moi, rien de ce qui précède ne fonctionne. McAfee est désactivé, le défenseur est désactivé, mais le problème persiste. Comme AlainD l'a noté, je le vois se télécharger et se mettre en place dans temp... mais si j'essaie de faire ce qu'il suggère, je me retrouve dans un dossier vide. Rien n'est copié dans node_modules ET le dossier dans lequel je me trouve est vide - la piste des dossiers jusqu'à l'endroit où j'étais est tout ce qui reste.

Alors oui, le problème est définitivement le déplacement/copie de temp vers node_modules qui pose problème.

Oui, j'ai essayé de courir en tant qu'administrateur cmd ainsi que régulier. Je n'ai pas encore mis git bash sur cette boîte.

résolu en copiant le dossier npm (sous nodemodules) à partir de l'archive zip que j'ai téléchargée manuellement depuis nodejs.org. Pas parfait mais résolu le problème McAfee.

J'ai également eu le même problème, mais le mien était une installation npm plutôt incomplète après le passage aux nœuds 10.7.0 et npm 6.1.0 - il manquait d'abord le package uuid, puis le package semver dans C:\ProgramDatanvm\v10.7.0node_modulesnpm. Je n'ai pas McAfee, mais j'ai l'antivirus COMODO.

Ma solution était presque la même que celle de YafimK - mais je viens de copier le npm-v6.1.0.zip du dossier nvm\temp, puis je l'ai décompressé manuellement dans C:\ProgramDatanvm\v10.7.0node_modulesnpm. À en juger par son contenu, vous pouvez simplement télécharger le même dossier à partir de https://github.com/npm/cli/releases sans vous mêler des dossiers temporaires.

J'espère que cela aide quelqu'un. J'espère également que nvmw résoudra ce problème.

Cela semble être un problème intermittent.

nvm uninstall 9.4
rm -r ~\AppData\Roaming\nvm\v9.4.0
nvm install 9.4
nvm use 9.4
Start-Sleep -Seconds 1
npm --version

Si j'exécute ce script à plusieurs reprises à partir de PowerShell en tant qu'administrateur, il réussit parfois à installer npm et parfois il échoue avec l'erreur Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js' .

Donc, fondamentalement, je suis capable de le faire fonctionner simplement en désinstallant et en réinstallant jusqu'à ce que cela fonctionne de manière aléatoire.

npm a changé son repo de npm/npm à npm/cli. Cela aurait affecté toute installation de Node 10.8.0+. Cela a été corrigé dans la 1.1.7.

@coreybutler Eh bien, c'est pour le moins exaspérant :/

Merci pour la correction cependant.

Je viens d'installer nvm 1.1.7 et j'ai toujours ce problème sur Windows 10 Enterprise 1709.
La désactivation de McAfee Endpoint Security Firewall avant d'installer nvm et d'utiliser l'installation de nvm n'a pas aidé.

Même situation que ralfhandl ici.

@robertmain - en effet. npm a changé les choses plusieurs fois sans même un coup d'œil.

@ralfhandl & @mmascolino - assurez-vous juste que vous avez couru nvm use x.x.x avant npm help , n'est-ce pas ? J'ai examiné le problème d'origine et j'ai réalisé que l'OP n'avait pas réellement mentionné son exécution (bien que le commentaire montre la sortie de nvm avec des instructions pour exécuter nvm use ).

Je clos ce sujet pour les raisons suivantes :

  1. Plusieurs personnes ont oublié d'exécuter nvm use x.x.x (voir ma réponse mise à jour au message d'origine ci-dessus)
  2. Le changement de repo npm a été pris en compte (voir issue #373)
  3. Je ne peux pas faire grand-chose à propos de certaines versions de npm où les autorisations sont codées en dur. Voir https://github.com/coreybutler/nvm-windows/issues/300#issuecomment-332030011 pour plus de détails.

Si vous rencontrez toujours un problème comme celui-ci, ouvrez un nouveau problème.

Un nvm a

Le nœud 8.xx est soumis aux autorisations codées en dur de npm (voir #300). Quelqu'un avec Win 10 Enterprise ( @mmascolino ou @ralfhandl) peut-il essayer avec une version plus récente ou plus ancienne de Node ? Je ne vois aucune raison pour laquelle NVM4W se comporterait différemment dans cette version de Windows, mais il y a le problème connu de npm dans Node 8.xx qui pourrait être le coupable.

J'ai installé les versions de Node 10.9.0, 8.11.4, 6.14.4 et 6.9.0.

Dans tous les cas, nvm install x.y.z semblait fonctionner correctement, et après nvm use x.y.z nœud lui-même fonctionnait bien, mais npm manquait et j'ai dû télécharger séparément npm et le décompresser dans C:\Users\xxx\AppData\Roaming\nvm\vx.y.z\node_modules .

Voici:

C:\Users\mascolino.mm>nvm install 10.9.0
Downloading node.js version 10.9.0 (64-bit)...
Complete
Creating C:\Users\mascolino.mm\AppData\Roaming\nvm\temp

Downloading npm version 6.2.0... Complete
Installing npm v6.2.0...

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

nvm use 10.9.0

C:\Users\mascolino.mm>nvm use 10.9.0
Now using node v10.9.0 (64-bit)

C:\Users\mascolino.mm>npm
internal/modules/cjs/loader.js:583
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:266:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
internal/modules/cjs/loader.js:583
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:266:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)

Le dossier node_modules ( C:\Users\mascolino.mm\AppData\Roaming\nvm\v10.9.0\node_modules ) est complètement vide.

Identique à @mmascolino ici

Identique à @mmascolino ici, la seule différence pour moi est le dossier de destination pour les versions de nœud qui est c:\ProgramDatanvm\v10.11.0.

Le dossier node_modules est complètement vide.

même

J'ai aussi le même problème.

Assurez-vous d'avoir supprimé les installations précédentes de Node (comme indiqué dans le fichier README). C'est la raison la plus courante de ces erreurs, car npm se confond entre les versions. Notez que l'erreur indique Cannot find module , qui est une erreur npm. Cela indique npm _is_ détecté... mais pas la bonne version.

Vérifiez également votre répertoire temporaire, dans le cas de @mmascolino , ce serait C:\Users\mascolino.mm\AppData\Roaming\nvm\temp pour voir s'il y a des fichiers. S'il n'y a rien, le téléchargement a peut-être échoué pour une raison quelconque... qui peut être un paramètre de pare-feu, un problème de réseau ou un problème d'autorisations.

@coreybutler IMO, le README doit être amélioré. S'il s'agit d'une étape obligatoire, ce devrait être son propre paragraphe et en gras.

Voici la copie actuelle :

Il est livré avec un programme d'installation (et un programme de désinstallation), car l'obtenir devrait être facile. Veuillez noter que vous devez désinstaller toutes les versions existantes de node.js avant d'installer NVM pour Windows. Supprimez également tous les répertoires d'installation de nodejs existants (par exemple, "C:\Program Files\nodejs") qui pourraient rester. Le lien symbolique généré par NVM n'écrasera pas un répertoire d'installation existant (même vide).

Cela ne souligne pas l'importance de désinstaller les versions existantes, ni ne fournit un moyen facile pour les utilisateurs de le faire. S'il s'agit d'une exigence pour le fonctionnement de nvm-windows , nous devrions afficher un avertissement lors de l'exécution (par exemple C;\Program Files\nodejs exists, this may cause problems with installation ). Mieux encore serait de fournir une commande pour nettoyer les installations existantes.

@cdtinney - Le programme d'installation contient une note à ce sujet. Je ne peux pas le mettre en gras (dans le programme d'installation), mais il y a un écran pour cela. N'hésitez pas à mettre à jour le README et à soumettre un PR. Je l'accepterais.

Salut,

J'ai eu un problème similaire à celui signalé ici en utilisant nvm 1.1.7 sur Windows 10 qui a été résolu dans le dernier chef de maître.

Essentiellement, nvm téléchargeait nodejs, npm zip était correctement téléchargé et extrait. La copie dans le répertoire nodes_module a cependant échoué sans erreur.

J'ai extrait la dernière version principale et construit localement l'installation a fonctionné correctement.

Un problème que j'ai remarqué lors du débogage est celui en ligne https://github.com/coreybutler/nvm-windows/blob/0a258f810d13eb20c56f6bebe575cd7451348d03/src/nvm.go#L298
Si le déplacement échoue après les nouvelles tentatives, l'erreur n'est pas consignée ou l'installation n'échoue pas.

Seriez-vous en mesure de publier une nouvelle version à partir de la dernière version de master ?

Merci pour le travail et bien cordialement,
Fergus

Je viens d'avoir ce problème. J'ai essayé toutes les solutions sauf la désactivation de McAfee, ce que je ne suis pas autorisé à faire, la seule solution qui a fonctionné pour moi consiste à télécharger le fichier zip binaire Windows du nœud, à le décompresser et à déplacer le dossier npm situé dans son node_module et à le placer dans celui créé par nvm-windows situé dans C:\Program Files\nodejsnode_modules

Mon environnement est Windows 10 64bit 1803, utilisant les dernières fenêtres nvm 1.1.7.

Certaines personnes doivent modifier npm.cmd et ajouter le PATH. (quelque part en dessous du répertoire nvm, probablement nvm\vX.Y.Znpm.cmd)

À la ligne 6, le fichier exécutable du nœud est spécifié.
Dans mon env, c'est indiqué ci-dessous.
SET "NODE_EXE=%~dp0\node.exe"

Cela essaie d'utiliser node.exe dans le même répertoire.
Mais en fait, il y a node64.exe, au lieu de node.exe.
Je réécris donc node.exe en node64.exe.

Après cela, vous devez ajouter le répertoire où npm.cmd existe à PATH.
Fermez tous les cmd.
Cela fonctionne bien depuis l'ouverture d'un nouveau cmd.

Je ne sais pas si cela fonctionne également si vous utilisez et changez plusieurs versions de nodejs.

Peut confirmer que McAfee interrompt npm. Nous avons déjà exclu un dossier spécifique, installez simplement les chemins nvm et npm dans ce dossier.

J'ai eu ce problème aussi.
J'ai résolu ce problème en exécutant nvm-setup.exe en tant qu'administrateur

Changez le répertoire d'installation en C:\ NVM 🎉

Je verrouille cette conversation car les nouveaux problèmes doivent être classés en tant que... nouveaux problèmes.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

tomByrer picture tomByrer  ·  4Commentaires

David263 picture David263  ·  3Commentaires

hsali picture hsali  ·  4Commentaires

Pomax picture Pomax  ·  3Commentaires

SufyanParkar picture SufyanParkar  ·  4Commentaires