web-dev-qa-db-fra.com

Erreur: EPERM: opération non autorisée, dissocier 'D:\Sources\**\node_modules\fsevents\node_modules\abbrev\package.json'

Je viens de mettre à jour npm à 5.4.0.
Maintenant, chaque fois que je veux installer un paquet npm, j'obtiens le message d'erreur suivant:

D:\Sources\DownloadCms\Md.Download\Web.Angular>npm install mds.angular.datetimepicker@latest --save
npm ERR! path D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.json
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink 'D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.json'
npm ERR!     at Error (native)
npm ERR!  { Error: EPERM: operation not permitted, unlink 'D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.jso
n'
npm ERR!     at Error (native)
npm ERR!   stack: 'Error: EPERM: operation not permitted, unlink \'D:\\Sources\\DownloadCms\\Md.Download\\Web.Angular\\node_modules\\fsevents\\node_modules\\ab
brev\\package.json\'\n    at Error (native)',
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'unlink',
npm ERR!   path: 'D:\\Sources\\DownloadCms\\Md.Download\\Web.Angular\\node_modules\\fsevents\\node_modules\\abbrev\\package.json' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Mohammad\AppData\Roaming\npm-cache\_logs\2017-09-03T03_25_50_432Z-debug.log

Je suis tout à fait sûr, lancez CMD en tant qu'administrateur.

Aussi, j'ai vérifié D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.json\, package.json n'existe pas dans le chemin!

Edit: Mettez à niveau vers v5.4.1, obtenez toujours la même erreur, même ne peut pas travailler avec --no-optional :-(

13
Mohammad Dayyan

C’est un numéro npm 5.4.0 https://github.com/npm/npm/issues/18287

Les solutions de contournement sont 

  • déclassement à 5.3
  • essayez de courir avec --no-optional, c.-à-d. npm install --no-optional
31
hidden_4003

Si vous rétrogradez à la version 5.3 et obtenez toujours la même erreur dans Windows, comme moi.
Après plusieurs heures de travail avec les versions de NPM, j’ai trouvé la solution suivante:

1. Téléchargez la dernière version recommandée de nodejs, ces jours-ci est node-v6.11.3-x64
2. Désinstallez nodejs avec elle.
3. Aller au dossier C:\Users\{YourUsername}\AppData\Roaming et supprimer les dossiers npm et npm-cache
4. Exécutez à nouveau le programme d'installation de nodejs et installez-le.
5 Mettez à jour npm vers 5.3 avec la ligne de commande npm i -g [email protected]

Maintenant, vous devriez utiliser npm sans aucun problème.

11
Mohammad Dayyan

J'ai corrigé en rétrogradant npm de 5.4.0 à la version 5.3

npm i -g [email protected]

J'espère que cela aide pour vous

8
Jason

J'ai pu résoudre ce problème en exécutant la commande Prompt/bash en tant qu'administrateur et en fermant le code VSCode!.

6
Mark Whitfeld

Pour moi, cela a fonctionné dans le paquet bash de git Essayez:

C:\Program Files\Git\bin\bash.exe

puis:

npm install mds.angular.datetimepicker@latest
2
Adrian

J'ai essayé cette solution trouvée à Comment réparer le blog de Node.js

juste utiliser

npm cache clean

dans les fenêtres s'il refuse d'utiliser

npm cache clean --force
2
Chris Ihure

Il semble y avoir de nombreuses solutions qui ont fonctionné avec la rétrogradation des versions de npm. Pour moi, la solution était 

npm install -force

J'ai essayé de rétrograder les versions de npm, de modifier la configuration de mon préfixe de npm afin qu'elle corresponde au répertoire npm et d'effacer le cache. Aucune de ces solutions n'a fonctionné, mais apparemment, elles ont fonctionné pour d'autres. Cela peut donc valoir le coup.

1
Cygnus

Corrigé dans NPM 5.6.0 

La mise à niveau vers NPM 5.6.0 a résolu le problème pour moi.

1
ptilton

Je voulais exécuter npm install à partir de mon disque dur externe, car c’est là que j’ai sauvegardé mon espace de travail de code. Système d'exploitation Windows 10.

Mais je recevais la même erreur que le message original. Aucune des réponses précédentes ne fonctionnait pour moi, je les ai toutes essayées:

  1. désinstaller nodejs puis réinstaller
  2. désinstaller nodejs puis déclasser/installer une version inférieure de nodejs.
  3. npm install -force
  4. supprimez les dossiers de C:\Users {YourUsername}\AppData\Roaming ... npm et npm-cache, puis réinstallez-les.
  5. npm cache clean --force
  6. npm cache clean
  7. npm install --g ou npm install --global

Ce qui a fonctionné pour moi a été ceci:

  1. copier le dossier de C:\Program Files\nodejs dans D:\Program Files\nodejs
  2. Puis allez dans Panneau de configuration\Système et sécurité\Système
  3. Réglages avancés du système
  4. Variables d'environnement
  5. Variables système
  6. Double-cliquez sur le chemin
  7. Ajouter un nouveau chemin
  8. D:\Program Files\nodejs
  9. Cliquez sur OK
  10. redémarrer le PC.
  11. essayez l’installation de npm depuis D: Drive
1
ivsuleman

J'ai eu le même problème sous Windows.

La source du problème est simple, il s’agit d’une autorisation d’accès sur les dossiers et les fichiers.

Dans votre dossier de projet, vous avez besoin

  1. Après le clonage du projet, modifiez les propriétés du dossier et modifiez les autorisations de l'utilisateur (accordez un accès complet à l'utilisateur actuel).
  2. Supprimez l'option en lecture seule du dossier de projet . (Les étapes 1 et 2 sont longues, car elles sont répliquées dans l'arborescence complète ci-dessous).
  3. Dans le dossier du projet, réinstallez le nœud (npm installinstall -g)
  4. Désactiver l'antivirus. (optionnel)
  5. Désactiver le pare-feu. (optionnel)
  6. Redémarrez le PC.
  7. Efface le cache npm (npm clear)
  8. Installez les dépendances de votre projet (npm install)

Après cela, l'erreur " Erreur: EPERM: opération non autorisée, unlink " ne sera plus affichée.

N'oubliez pas de réactiver le pare-feu et l'antivirus si nécessaire.

1
Thiago Silva

J'ai eu le même problème et tout ce que j'avais à faire était de me connecter à npm

login npm

ou bien

npm add user // consulter la documentation pour les paramètres

0
xeiton

Pour les fenêtres,

  1. Téléchargez la dernière version recommandée de nodejs, ces jours étant node-v6.11.3-x64
  2. Désinstallez nodejs avec.
  3. Allez dans le dossier C:\Users\{YourUsername}\AppData\Roaming et supprimez les dossiers npm et npm-cache
  4. Exécutez à nouveau le programme d'installation de nodejs et installez-le.
  5. Par défaut, npm 3.10.10 devrait être installé avec node-v6.11.3-x64
  6. Cela a fonctionné pour moi avec npm 3.10.10 mais n'a pas fonctionné avec 5.3.X. De plus, il n'a pas fonctionné avec les versions supérieures de node (ci-dessus node-v6.11.3-x64)
0
Suresh Vanam