Quand j'exécute "npm install", j'obtiens cette erreur
npm ERR! Error: EPERM: operation not permitted, rename C:\projects\******\node_modules\react-async-script' -> 'C:\projects\*******\node_modules\.react-async-script.DELETE'
Dans ma situation, cela a aidé:
cache propre avec
npm cache clean --force
installez la dernière version de npm globalement en tant qu'administrateur:
npm install -g npm@latest --force
cache propre avec
npm cache clean --force
Essayez d'installer à nouveau votre composant.
J'espère que cela résoudra votre problème. Si cela ne vous aide pas, essayez de changer de programme antivirus pendant un moment et recommencez.
Je l'ai fait fonctionner lorsque j'ai essayé d'installer npm avec une option force pour récupérer des ressources distantes même s'il existe une copie locale sur le disque. Essayez de courir
npm install --force
Mise à jour Pour certains de mes collègues, cette solution ne fonctionnait pas. Mais nous avons essayé d'utiliser yarn au lieu de npm. Cela fonctionne (plus vite aussi) sans aucun problème tout le temps
yarn install [package-name]
Pas package.json
, mais pour une raison quelconque, mon node_modules/
était devenu en lecture seule. Réinitialiser cela corrige cela.
J'avais la même erreur et selon https://github.com/Medium/phantomjs/issues/19 cela pourrait être causé par votre logiciel antivirus. J'ai désactivé le mien pendant toute la durée de l'installation et exécuté "npm install" sur cmd en tant qu'administrateur et cela a fonctionné . J'espère que cela vous aidera.
J'avais la même chose. Je n'ai trouvé cela nulle part, mais je suis frappé par le fait que nos machines virtuelles ont tendance à modifier les fichiers en lecture seule. J'ai donc ouvert les propriétés du fichier de package.json
et désélectionné Read-only
dans l'onglet "Général".
Pas
package.json
.J'ai eu ce problème à plusieurs reprises seulement dans Windows J'essaie habituellement dans l'ordre.
Essayer habituellement d’installer npm après l’une de ces étapes le résoudra.
Si vous voulez éviter l’option --force
(qui est toujours une meilleure approche),je vous suggère de vous assurer que vous avez arrêté d’exécuter le projet, car c’est généralement la raison principale pour le verrouillage des fichiers. 90% des cas que j'ai vus
Par exemple:
Dans Angular stopping ng s
et dans React stopping npm start
résout généralement ce problème, car cette erreur se produit généralement si un serveur de développement exécute le projet car il verrouille certains fichiers. Npm ne peut donc pas les mettre à jour.
Si ce qui précède ne fonctionne pas, essayez de fermer l'éditeur de code dans lequel l'espace de travail est ouvert (peut-être bloquait-il certains fichiers ou quelque chose)
Alors essayez de fermer l'éditeur de code et de lancer:
npm install
Si cela ne fonctionne toujours pas, alors vous pouvez peut-être essayer l'option --force
npm install --force
Comme Martin Kearn l'a souligné dans un commentaire, fermant Visual Studio a résolu pour moi ces problèmes d'autorisation npm. Evidemment, VS verrouille parfois des fichiers dans node_modules
.
J'ai eu le même problème après avoir mis à jour npm en 5.4.2, npm start donnant la même erreur pour la plupart des commandes npm. Certaines solutions suggèrent de l'exécuter avec --no-optional:
ça n'a pas toujours marché.
autre suggéré de déclasser, je ne voulais pas déclasser.
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 npm:
npm i -g npm
et a bien fonctionné depuis.
C'est une erreur typique causée par l'antivirus. Il existe une solution de contournement pour des cas comme le mien, où je ne peux pas désactiver A/V (stratégie de la société).
Vous devez changer le paquet polyfills.js
dans Npm
:
[NODE_HOME]/node_modules/npm/node_modules/graceful_fs/polyfills.js
Recherchez cette déclaration:
if (process.platform === "win32") {
À l'intérieur de cette déclaration, il y a un délai d'attente faisant une nouvelle tentative en cas d'erreur. Le problème est que dans certains cas, après l'expiration du délai, le fichier est toujours verrouillé par l'A/V. La solution est d'extraire le délai d'attente et de laisser 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)
}
Ouvrez la commande Invite en tant qu'administrateur, accédez à l'emplacement du projet, puis exécutez npm install. cela a fonctionné pour moi.
Pour certains, le dossier AppRoot\npm peut être un problème. Parfois, le dossier AppRoot est marqué comme partagé sur le réseau et donc Antivirus bloque le contenu. Suivez le lien ci-dessous pour une solution complète.
https://alastaircrabtree.com/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/
J'espère que ça aide.
npm échouait pour moi à scandir
pour:
npm install -g webpack
... ce qui pourrait être causé par la tentative de npm de "modifier" des fichiers potentiellement verrouillés par d'autres processus, comme mentionné ci-dessus ici et dans quelques autres threads github. Après avoir forcé le nettoyage du cache, la vérification du cache, l’exécution en tant qu’administrateur, la désactivation de l’AV, etc., la solution qui fonctionnait bien pour moi était de fermer tout ce qui risquait de verrouiller les fichiers} _ (c'est-à-dire le redémarrage de mon ordinateur).
J'espère que cela aide quelqu'un en difficulté.
J'ai eu le même problème. L'erreur est due à des caractères non pris en charge dans le chemin d'accès au fichier. Remplacé le cyrillique en anglais - cela a aidé.
Dans mon cas, quelque chose a été bloqué et un redémarrage rapide l'a résolu.
Essayer de renommer un fichier en un autre nom de fichier qui existe déjà peut provoquer une erreur EPERM
sous Windows.
Ma réponse est de faire npm cache clean --force
en premier. Exécutez ensuite npm install -g [email protected]
pour installer la version 5.3.0 de npm. pour moi, cette version npm fonctionne sans problème.
Cela peut être dû à votre logiciel antivirus. Si vous ne pouvez pas désactiver AV, vous pouvez essayer de modifier votre emplacement d’installation global NPM en installant le nœud dans le répertoire APPDATA qui est activement surveillé par les moteurs AV. Essayez d'exécuter les commandes suivantes-
préfixe de l'ensemble de configuration npm "VOTRE EMPLACEMENT PERSONNALISÉ" Cache de l'ensemble de configuration npm "VOTRE EMPLACEMENT PERSONNALISÉ"
Supprimez le répertoire node_modules et réinstallez votre paquet.
Pour moi, je viens de fermer l'éditeur de code (VS Code) et ensuite exécuter la même commande. Et cela résout le problème pour moi.
Dans mon cas, régler TypeScript.disableAutomaticTypeAcquisition
dans Visual Studio Code sur true
semblait aider.
J'ai remonté mes disques de fenêtre avec l'indicateur de métadonnées et j'ai immédiatement aidé: https://devblogs.Microsoft.com/commandline/chmod-chown-wsl-improvements/
après cela, plus besoin d'utiliser les commandes Sudo pour npm car les métadonnées permettent de contrôler les autorisations de fichiers et de répertoires Windows et Linux.
Exécuter des commandes en tant que super administrateur a fonctionné pour moi. Réessayez après la fermeture de l'éditeur dans lequel vous travaillez.
J'ai fait ce qui suit:
npm install -g
[email protected]
c:/users/[username]/AppData/Roaming/npm-cache
npm cache clean --force
npm install
.J'ai eu du mal avec ça aussi. Je finallement une solution qui fonctionne bien si vous utilisez NVM:
cd ~/.nvm/versions/node/{your node version}/lib/
npm install npm
et c'est tout.
Supprimez simplement le dossier de package du chemin des packages globaux npm. puis réinstallez le package . Notez que les packages sont installés globalement dans: C:\Utilisateurs\votre-nom\AppData\Roaming\npm\node_modules
J'avais le même problème dans Windows 10. Il suffit de suivre ces étapes:
Ouvrez cmd en tant qu'administrateur.
installez le paquet npm mis à jour.
npm i -g npm
npm init --oui
Dans mon cas, en utilisant npm: v6.9.0
&& node: v10.16.1
sur Windows
, je devais exécuter mon CLI (git bash) en tant qu'administrateur. Ensuite, les paquets ont été installés sans avertissements/erreurs