npm ERR! Erreur: EPERM: opération interdite, renommer
quand j'exécute "npm install" je reçois cette erreur
npm ERR! Error: EPERM: operation not permitted, rename C:projects******node_modulesreact-async-script' -> 'C:projects*******node_modules.react-async-script.DELETE'
- je suis en cours d'exécution de la cmd en tant qu'administrateur
- j'ai lancé npm cache clean avant
- je me suis assuré que toutes les autres applications n'ont rien à voir avec node_modeules open
13 réponses
Dans ma situation, il m'a aidé:
nettoyer le cache avec
npm cache clean --force
installer la version la plus récente du mécanisme national de prévention à l'échelle mondiale en tant qu'admin:
npm install -g npm@latest --force
nettoyer le cache avec
npm cache clean --force
essayez d'installer votre composant à nouveau.
j'espère que cela résout votre problème. Si cela n'aide pas, essayez de changer de programme antivirus pendant un moment et répéter.
Je l'ai fait fonctionner quand j'ai essayé l'installation npm avec une option force pour récupérer les ressources distantes même si une copie locale existe sur le disque. Essayez d'exécuter
npm install --force
mise à Jour Pour certains de mes collègues, cette solution ne fonctionnait pas. Mais nous avons essayé d'utiliser fil au lieu de npm. Il fonctionne (plus rapide) sans aucun problème tous les temps
yarn install [package-name]
j'ai été faire la même erreur et selon https://github.com/Medium/phantomjs/issues/19 il pourrait être causé par votre logiciel antivirus. J'ai désactivé mine pour la durée de l'installation et exécuté "npm install" sur cmd en tant qu'administrateur et cela a fonctionné. Espérons que cette aide.
package.json
, mais pour quelque raison que ce soit, mon node_modules/
devenu en lecture seule. La réinitialisation qui fixe cette.
j'ai été faire la même chose. Je n'ai trouvé ça nulle part, mais j'ai eu l'impression que nos VM avaient tendance à changer les fichiers en lecture seule. J'ai donc ouvert package.json
'propriétés de fichier et désactivée Read-only
dans l'onglet "Général".
Mesures
- Aller à l'
package.json
fichier. - cliquez avec le bouton droit de la souris et sélectionnez Propriétés.
- Dans le Général onglet Attributs section, désélectionner en lecture seule.
- Cliquez sur Appliquer pour appliquer la modification.
j'ai eu le même problème après avoir mis à jour vers la version 5.4.2 de la npm, la npm a commencé à donner la même erreur pour la plupart des commandes de la npm. Une solution suggère de l'exécuter avec --no-optional:
ça n'a pas toujours marché.
autres suggestions pour rétrograder, Je ne voulais pas rétrograder.
j'ai suspecté qu'il y avait un problème avec l'installation, pas sûr de ce que c'est.
donc j'ai re-mis à jour mon mnp:
npm i -g npm
et a bien fonctionné depuis.
j'ai eu ce problème plusieurs fois seulement dans Windows J'ai essayer dans l'ordre habituellement.
- npm install --force
- Vérifier si node_modules est en lecture seule et supprimer si c'est
- Supprimer node_modules/
- Vérifier si un éditeur est ouvert qui pourrait avoir accès au dossier racine du projet
- redémarrage : (
généralement essayer l'installation npm après une de ces étapes va le résoudre.
npm a échoué pour moi à scandir
pour:
npm install -g webpack
...qui pourrait être causé par la npm essayant de "modifier" des fichiers qui étaient potentiellement verrouillés par d'autres processus comme mentionné ici et dans quelques autres fils github. Après avoir forcé le nettoyage du cache, vérifier le cache, exécuter en tant qu'administrateur, désactiver L'AV, etc la solution qui en fait a travaillé pour moi fermait n'importe quelle chose qui pourrait être placer un verrou les dossiers (i.e. redémarrage de mon ordinateur).
j'espère que cela aidera quelqu'un qui lutte.
dans mon cas, cela n'a fonctionné que lorsque J'ai fermé VS code (l'éditeur de code) qui avait l'espace de travail ouvert (peut-être qu'il verrouillait certains fichiers ou quelque chose comme ça)
Après la fermeture de la VS code et en cours d'exécution:
npm install --force
il a travaillé avec succès
j'ai eu le même problème. La raison de l'erreur est des caractères non supportés dans le chemin d'accès au fichier. Remplacé le cyrillique en anglais -, il a aidé.
Ma réponse est de faire npm cache clean --force
en premier. Ensuite, exécutez npm install -g npm@5.3.0
pour installer npm la version 5.3.0. pour moi, cette version npm fonctionne sans problème.
il s'agit d'une erreur typique causée par un Antivirus. Il y a une solution pour les cas comme le mien, où je ne peux pas désactiver A/V (Politique de L'entreprise).
vous devez changer le polyfills.js
à l'intérieur Npm
package:
[NODE_HOME]/node_modules/npm/node_modules/graceful_fs/polyfills.js
cherchez cette déclaration:
if (process.platform === "win32") {
à l'intérieur de cette déclaration, il y a un timeout qui fait un nouveau essai en cas d'erreur. Le problème est que dans certains cas, après le délai, le fichier est toujours verrouillé par L'A/V. la solution est déchirez le délai et laissez cette déclaration en boucle. Le changement avec le code précédent, a commenté:
if (platform === "win32") {
fs.rename = (function (fs$rename) { return function (from, to, cb) {
var start = Date.now()
var backoff = 0;
fs$rename(from, to, function CB (er) {
if (er
&& (er.code === "EACCES" || er.code === "EPERM")
/*&& Date.now() - start < 60000*/) {
console.log("Retrying rename file: " + from + " <> " + to)
fs$rename(from, to, CB);
/*setTimeout(function() {
fs.stat(to, function (stater, st) {
if (stater && stater.code === "ENOENT")
fs$rename(from, to, CB);
else
cb(er)
})
}, backoff)*/
if (backoff < 100)
backoff += 10;
return;
}
if (cb) cb(er)
})
}})(fs.rename)
}
Pour certains, AppRoot\mnp dossier pourrait être un problème. Parfois le dossier AppRoot est marqué comme réseau partagé et donc L'Antivirus bloque la substance. Suivez le lien ci-dessous pour la solution complète.
https://alastaircrabtree.com/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/
j'espère que cela aidera.