node.js - saveerror - npm error: eperm: operation not permitted, unlink
npm ERR! Error: EPERM: operaciĆ³n no permitida, renombrar (28)
Abra el símbolo del sistema como administrador y navegue a la ubicación del proyecto y luego ejecute npm install. Funcionó para mí.
Cuando ejecuto "npm install" me sale este error
npm ERR! Error: EPERM: operación no permitida, cambie el nombre de C: / projects ****** / node_modules / react-async-script ''->'' C: / projects ******* / node_modules.react-async-script .ELIMINAR''
- Estoy ejecutando el cmd como administrador
- Ejecuté npm cache clean antes
- Me aseguré de que todas las demás aplicaciones no tengan nada relacionado con node_modeules abierto
Como Martin Kearn señaló en un comentario,
cerrar Visual Studio
resolvió estos problemas de permisos npm por mí.
Evidentemente, VS a veces bloquea archivos en
node_modules
.
Ejecutar comandos como Super Admin me funcionó. Vuelva a intentar después de cerrar el Editor en el que está trabajando.
En mi caso ejecutando
npm: v6.9.0
&&
node: v10.16.1
en
Windows
, tuve que ejecutar mi CLI (git bash)
como administrador
.
Luego los paquetes se instalaron sin advertencias / errores
En mi caso, algo se bloqueó y un reinicio rápido lo resolvió.
En mi caso, la configuración de
typescript.disableAutomaticTypeAcquisition
en Visual Studio Code en
true
parecía ayudar.
En mi situación, ayudó:
-
limpiar caché con
npm cache clean --force
-
instale la última versión de npm a nivel mundial como administrador:
npm install -g npm@latest --force
-
limpiar caché con
npm cache clean --force
-
Intenta instalar tu componente una vez más.
Espero que esto solucione tu problema. Si no ayuda, intente cambiar el programa antivirus por un tiempo y repita.
Estaba recibiendo lo mismo.
No encontré esto en ninguna parte, pero me di cuenta de que nuestras máquinas virtuales tienden a cambiar los archivos a un estado de solo lectura.
Así que abrí las propiedades del archivo
package.json
y deseleccioné
Read-only
en la pestaña "General".
Pasos
-
Vaya al archivo
package.json
. - Haga clic derecho y seleccione Propiedades .
- En la pestaña General , sección Atributos , anule la selección de Solo lectura .
- Haga clic en Aplicar para aplicar el cambio.
Estaba teniendo el mismo problema en Windows 10. Simplemente sigue estos pasos:
-
Abra cmd como administrador.
-
instale el paquete npm actualizado.
-
npm i -g npm
-
npm init - sí
Este es un error típico causado por Antivirus. Hay una solución para casos como el mío, donde no puedo desactivar A / V (Política de la empresa).
Tienes que cambiar el
polyfills.js
dentro del paquete
Npm
:
[NODE_HOME]/node_modules/npm/node_modules/graceful_fs/polyfills.js
Busque esta declaración:
if (process.platform === "win32") {
Dentro de esta declaración, hay un tiempo de espera para volver a intentarlo en caso de error. El problema es que en algunos casos, después del tiempo de espera, el archivo todavía está bloqueado por el A / V. La solución es eliminar el tiempo de espera y dejar esta declaración en bucle. El cambio con el código anterior comentó:
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)
}
Esto podría deberse a su software antivirus. Si no puede deshabilitar AV, puede intentar modificar su ubicación de instalación global de NPM a medida que el nodo se instala en el directorio APPDATA que es controlado activamente por los motores AV. Intenta ejecutar los siguientes comandos:
npm config set prefix "SU UBICACIÓN PERSONALIZADA" npm config set cache "SU UBICACIÓN PERSONALIZADA"
Elimine el directorio node_modules e instale su paquete nuevamente.
He tenido este problema varias veces solo en Windows, generalmente los intento en el orden.
- npm install --force
- Compruebe si node_modules está establecido en solo lectura y elimínelo si es
- Eliminar node_modules /
- Compruebe si hay algún editor abierto que pueda tener acceso a la carpeta raíz del proyecto
- Reiniciar :(
Por lo general, intentar instalar npm después de que uno de esos pasos lo resuelva.
Hice lo siguiente:
-
Actualizó el npm a la última versión:
npm install -g [email protected]
-
eliminó la carpeta npm-cache de:
c:/users/[username]/AppData/Roaming/npm-cache
-
¿Se limpió la memoria caché:
npm cache clean --force
-
npm install
.
Intentar cambiar el nombre de un archivo a otro nombre de archivo que ya existe puede causar un error
EPERM
en Windows.
Lo hice funcionar cuando intenté instalar npm con una opción forzada para recuperar recursos remotos incluso si existe una copia local en el disco. Intenta correr
npm install --force
Actualizado Para algunos de mis colegas, esta solución no funcionaba. Pero intentamos usar yarn lugar de npm. Funciona (también más rápido) sin problemas todo el tiempo
yarn install [package-name]
Luché con esto también. Finalmente, una solución que funciona bien si usa nvm:
cd ~/.nvm/versions/node/{your node version}/lib/
npm install npm
y eso es.
Me enfrento a este problema varias veces. Resulta que no tiene nada que ver con permisos, caché, etc. El mensaje de error es engañoso. Para el nodo v 6.x verá una pila de errores más detallada, pero no después de 7.x Para mí y mis colegas, el problema es la función de tiempo de espera. Básicamente, la instalación del paquete aún no ha finalizado (es decir, mantener el directorio) cuando npm intenta eliminarlo. en el nodo 6.x puedes ver que en finalize.js ahora se ha ido. Solo usa hilo.
Mi respuesta es hacer
npm cache clean --force
first.
Luego ejecute
npm install -g [email protected]
para instalar la versión npm 5.3.0.
Para mí, esta versión npm funciona sin problemas.
No
package.json
, pero por alguna razón, mi
node_modules/
había convertido en solo lectura.
Restablecer eso solucionó esto.
Para algunos, la carpeta AppRoot / npm podría ser un problema. A veces, la carpeta AppRoot está marcada como red compartida y, por lo tanto, Antivirus bloquea las cosas. Siga el siguiente enlace para la solución completa.
https://alastaircrabtree.com/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/
Espero que esto ayude.
Para mí, acabo de cerrar el editor de código (VS Code) y luego ejecuto el mismo comando. Y eso resuelve el problema para mí.
Recibía el mismo error y de acuerdo con https://github.com/Medium/phantomjs/issues/19 podría ser causado por su software antivirus. Inhabilité el mío durante la instalación y ejecuté "npm install" en cmd como administrador y funcionó. Espero que esto ayude.
Si desea evitar la opción
--force
(que siempre es un mejor enfoque)
,
le sugiero que se asegure de haber dejado de ejecutar el proyecto, ya que esta suele ser la razón principal para bloquear los archivos en casi el 90% de los casos. han visto
Sugiero los siguientes pasos en este orden:
1- En Angular stopping
ng s
y en React stopping
npm start
generalmente se resuelve este problema porque generalmente este error ocurre si un servidor de desarrollo ejecuta el proyecto ya que bloquea algunos archivos y luego npm no puede actualizarlos, por lo que arroja este error
2- Si lo anterior no funciona, intente cerrar el editor de código que tiene abierto el espacio de trabajo (tal vez estaba bloqueando algunos archivos o algo así)
Intenta cerrar el editor de código y ejecuta:
npm install
3-
Si todavía no funciona, entonces quizás puedas probar la opción
--force
npm install --force
Simplemente elimine la carpeta del paquete de la ruta de los paquetes globales npm. luego reinstale el paquete. Tenga en cuenta que los paquetes se instalan globalmente en: C: / Users / your-name / AppData / Roaming / npm / node_modules
Tuve el mismo problema después de actualizar a npm a 5.4.2, npm comenzó a dar el mismo error para la mayoría de los comandos npm. Algunas soluciones sugieren ejecutarlo con --no-opcional:
No funcionó siempre.
otros sugirieron rebajar, no quería rebajar.
Sospeché que había un problema con la instalación, no estoy seguro de qué es.
así que actualicé mi npm:
npm i -g npm
y funcionó bien desde entonces.
Volví a montar mis discos de ventana con el indicador de metadatos e instantáneamente ayudé: https://devblogs.microsoft.com/commandline/chmod-chown-wsl-improvements/
después de eso ya no es necesario usar sudo para los comandos npm ya que los metadatos mantienen los permisos de Windows / Linux file / directory bajo control.
Yo tuve el mismo problema. El motivo del error son los caracteres no admitidos en la ruta del archivo. Reemplazó el cirílico en inglés, ayudó.
npm me estaba fallando en
scandir
por:
npm install -g webpack
... que puede ser causada por npm que intenta "modificar" archivos que fueron potencialmente bloqueados por otros procesos como se menciona here y en algunos otros hilos de github. Después de forzar la limpieza del caché, verificar el caché, ejecutar como administrador, deshabilitar el AV, etc., la solución que realmente funcionó para mí fue cerrar cualquier cosa que pudiera estar bloqueando los archivos (es decir, reiniciar mi computadora).
Espero que esto ayude a alguien que lucha.