124 votes

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

Je viens de mettre à jour npm a 5.4.0 .
Maintenant, chaque fois que je veux installer un paquet npm, j'obtiens l'erreur suivante :

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 sûr que je vais courir CMD en tant qu'administrateur.

J'ai aussi 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 !

Editar: Mise à jour vers la v5.4.1, j'obtiens toujours la même erreur, je ne peux même pas la contourner avec --no-optional :-(

178voto

Mark Whitfeld Points 623

J'ai pu résoudre ce problème en exécutant l'invite de commande/bash en tant qu'administrateur et en fermant VSCode ! Il semble que VSCode ait verrouillé certains fichiers. Potentiellement, quelque chose d'autre pourrait verrouiller ces fichiers pour vous.

12 votes

Merci ! Dans mon cas, c'est Visual Studio 2015 qui verrouillait certains fichiers.

1 votes

Yup. Merci. Super simple. J'ai fermé VS Code et résolu tous mes problèmes.

4 votes

Dans mon cas, Process Explorer me dit invariablement que le coupable verrouille les fichiers npm essaie de supprimer est un autre node.exe processus engendré par npm en cours d'exécution npm ! Oh joie, cet outil ne cesse de surprendre (c'est sur Windows 10, Node 12.11.0, npm 6.11.3)

101voto

hidden_4003 Points 357

Il s'agit d'un problème lié à npm 5.4.0. https://github.com/npm/npm/issues/18287

Les solutions de contournement sont

  • déclassement à 5,3
  • essayez d'exécuter avec --no-optional, c'est-à-dire npm install --no-optional

11 votes

--no-optional J'ai tout compris (@5.4.1) !

23 votes

Si vous avez ouvert VSCode puis fermez-la et essayez d'exécuter npm commande il sera installé définitivement, la rétrogradation n'est pas la solution.

6 votes

Fermer le code VS et exécuter npm i de l'extérieur a fonctionné pour moi.

17voto

Mohammad Points 2448

Si vous avez rétrogradé à la version 5.3 et obtenez toujours la même erreur dans Windows comme moi.
Après des 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 de nos jours est node-v6.11.3-x64
2. Désinstaller nodejs avec elle.
3. Aller à C:\Users\{YourUsername}\AppData\Roaming et supprimer npm y npm-cache dossiers
4. Exécuter le programme d'installation de nodejs à nouveau et l'installer
5 Mettre à jour npm à 5.3 avec npm i -g npm@5.3 ligne de commande

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

0 votes

npm i -g npm@5.3 --no-optional a fonctionné pour moi

13voto

Chris Ihure Points 71

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

utilisez simplement

npm cache clean

dans Windows s'il refuse d'utiliser

npm cache clean --force

3 votes

Cela ne fonctionne pas pour moi. Windows en CI sur VSTS (maintenant Azure DevOps)

11voto

Jason Points 363

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

npm i -g npm@5.3

J'espère que cela vous aidera

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X