npm - EPERM: operación no permitida en Windows

105

Yo corrí

npm config set prefix /usr/local

Después de ejecutar ese comando, cuando intento ejecutar cualquier comando npm en el sistema operativo Windows, sigo obteniendo lo siguiente.

Error: EPERM: operation not permitted, mkdir 'C:\Program Files (x86)\Git\local'
at Error (native)

Han eliminado todos los archivos de

C:\Users\<your username>\.config\configstore\

No funcionó.

Cualquier sugerencia ?

Lahar Shah
fuente
25
Correr npm cache clean --forceresolvió el problema para mí.
Nuhman
Ejecutar npm cache clean --force dos veces funcionó para mí.
VIshal Jain

Respuestas:

101

Ejecutar este comando fue mi error.

npm config establecer prefijo / usr / local

Path /usr/localno es para Windows. Este comando cambió la variable de prefijo en'C:\Program Files (x86)\Git\local'

Para acceder y realizar un cambio en este directorio, necesito ejecutar mi cmd como administrador.

Así que lo hice:

  1. Ejecute cmd como administrador
  2. Ejecutar npm config edit(obtendrá el editor de bloc de notas)
  3. Cambiar prefixvariable aC:\Users\<User Name>\AppData\Roaming\npm

Entonces npm startfunciona en una consola normal.

Lahar Shah
fuente
4
esto también resolvió mi problema (Windows 10), gracias.
AntonB
En mi caso, simplemente descomenté prefix(was ;prefix...) after npm config edity Profit. No estoy seguro de si eso es algo inteligente, pero funcionó.
ruffin
en mi caso, no tenía derechos de administrador para mí en la computadora portátil, así que así es como lo hice: stackoverflow.com/a/57249779/10603466
Rishabh Jain
Simplemente volviendo a ejecutar como administrador solucionó mi problema.
Irrompible
31

Esto ocurre porque Windows no le da permiso al usuario para crear una carpeta dentro de la unidad del sistema. Para solucionar esto:

Botón derecho del ratón

La carpeta> Propiedades > pestaña Seguridad

Haga clic en Editar para cambiar los permisos> Seleccione el usuario y otorgue Control total a ese usuario.

RatneZ
fuente
2
Agregue una explicación con la respuesta de cómo esta respuesta ayuda a OP a solucionar el problema actual
ρяσѕρєя K
1
No es una buena idea otorgar al usuario acceso para cambiar las carpetas del sistema, especialmente cuando esto se puede solucionar fácilmente cambiando el prefijo a una carpeta en el directorio de inicio del usuario.
atomic77
1
esto no funcionará con una computadora portátil de la empresa en la que usted no sea el administrador del sistema.
schlingel
26

A veces, todo lo que se requiere es detener el servidor de desarrollo antes de instalar / actualizar paquetes.

Ezra Obiwale
fuente
1
Tuve este problema en WebStorm. ¡Gracias! Esto resolvió el problema.
takasoft
1
qué extraño pero cierto ... instalar [email protected] para probar los ganchos de reacción no funcionó hasta que
probé
Para agregar a esto, si sospecha que este problema es su servidor de desarrollo en ejecución pero no sabe cómo detenerlo, simplemente cierre la sesión / reinicie sus ventanas siempre solucionará este lool
Ng Sek Long
24

Recientemente tuve el mismo problema cuando actualicé a la nueva versión, la única solución era hacer la actualización

Para desinstalar:

npm uninstall npm -g

Instale la versión anterior:

npm install npm@5.3 -g

Intente actualizar la versión en otro momento.

Leonardo Oliveira
fuente
2
Igual que aquí. Parece que la actualización de npm fue el problema
SokIsKedu
Exactamente, estoy siguiendo este tema para saber cuándo se solucionará.
Leonardo Oliveira
¡Esto me lo arregló!
Jim
Por cierto, actualicé de 5.4.1 a 5.4.2 y el problema parece haber desaparecido, por lo que creo que el problema puede haberse solucionado. Un poco difícil de decir ya que el tema al que se refería Leonardo estaba bloqueado.
Soporte de Mantis
También funcionó para mí. Gracias @LeonardoOliveira por la ayuda
Vipin
13

En mi caso, me enfrentaba a este error porque mi directorio y su archivo se abrieron en mi editor (código VS) mientras estaba ejecutando npm install. Resolví el problema cerrando mi editor y ejecutando npm installla línea de comando.

Shashank Rawat
fuente
10

Tuve el mismo problema, después de actualizar npm. Lo resolvió reinstalando el último npm nuevamente con:

npm i -g npm

pero esta vez con cmd ejecutándose en modo de administración.

Hice todo esto porque sospechaba que había un problema con la actualización, principalmente algunos archivos faltantes.

Salimd83
fuente
10

Uso Windows 10. Inicié CMD como administrador y resolvió el problema.

Busque CMD, haga clic derecho y haga clic en abrir como administrador.

DIANGELISJ
fuente
@EtienneGautier Eso es ... simplemente no es cierto en absoluto. ¿Cuál es su solución propuesta para modificar archivos del sistema? Si hay alguna forma de hacerlo que no sea con "permisos de administrador", entonces hay algo muy mal con la seguridad del sistema operativo.
Clonkex
Hola @Clonkex, estaba asumiendo que el contexto era el de NPM (según la pregunta). Aún así, mi comentario no es relevante, lo estoy borrando. Gracias por tus comentarios.
Etienne Gautier
@EtienneGautier Ah, bastante bien.
Clonkex
7

para mí fue un problema de alterar las carpetas existentes en node_module, así que destruí toda la carpeta y ejecuté npm install nuevamente. funciona sin errores después de eso

Sonic Soul
fuente
7

Tenía una versión desactualizada de npm. Ejecuté una serie de comandos para resolver este problema:

npm cache clean --force

Luego:

npm install -g npm@latest --force

Entonces (una vez más):

npm cache clean --force

Y finalmente pude ejecutar esto (instalando el proyecto Angular) sin los errores que estaba viendo con respecto a EPERM:

ng new myProject
Latente Denis
fuente
6

Tuve el mismo problema cuando intenté instalar el paquete npm AVA. La solución para mí fue eliminar la carpeta node_modules y forzar la limpieza de la caché npm:

rm -rf node_modules
npm cache clean --force

Luego pude instalar el paquete npm sin problemas.

Liran H
fuente
Sí, de alguna manera tenía carpetas node_modules en el directorio de trabajo actual. Estaba lanzando esa excepción cuando intenté ejecutar comandos de cli angular 'ng new ..'. Eliminar las carpetas node_modules ayudó.
Ashokan Sivapragasam
3

Manera más simple

Espero no llegar demasiado tarde para esta publicación, pero recientemente incluso yo también me he visto afectado por este problema. Y tampoco tenía derechos de administrador en mi computadora portátil.

Esta es la forma más sencilla en que solucioné el error.

  1. Busque el nombre del archivo .npmrc(estará enC:\Users\<user name>\.npmrc )
  2. Ábrelo y cambia la ruta de prefix=aprefix=C:\Users\<user name>\AppData\Roaming\npm

Espero que sea de ayuda..

Rishabh Jain
fuente
Tuve este problema al usar WebStorm. Esto es lo único en la primera página de Google que resolvió mi problema. ¡Gracias Rishabh!
Leandro
3

Si recibe este error en la terminal / indicador de comandos de un IDE, intente eliminar node_modules, cierre IDE y ejecute el npm installcomando nuevamente. El momento en que IDE comenzó pero aún no completó su análisis del árbol de node_modules es un momento complicado, cuando la instalación de paquetes puede fallar porque IDE todavía escanea el contenido de node_modules.

Kote Isaev
fuente
3

Reiniciar VsCode lo resolvió por mí.

Leyendas
fuente
1

Tuve el mismo problema, ya que estaba usando la LAN de mi empresa. Y simplemente corrí cmd.exe npmy pude ejecutar mis otros comandos sin ningún error después de eso.

C:\Users\586656>cmd.exe npm
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

Solo comparto esto, ya que puede ayudar a otras personas que intentan hacer esto en la LAN de su oficina. Gracias.

Sibeesh Venu
fuente
1

Simplemente ejecute cmd como administrador. elimine la carpeta antigua node_modules y ejecute npm install nuevamente.

Rahul Khunt
fuente
1
npm install debería funcionar sin iniciar CMD como administrador. No funciona en cmd normal (no administrador) también es un problema.
Lahar Shah
1

¡Encuentre este comando npm cache cleancomo una solución a esos errores de una manera rápida y sencilla!

Hanny Setiawan
fuente
1

Actualicé la versión de mi nodo a 8.9.4 y volví a ejecutar el comando de instalación necesario desde el símbolo del sistema del administrador. ¡Funcionó para mí!

Rahul Sharma
fuente
1

Un reinicio de mi computadora portátil y luego

npm install

¡trabajó para mi!

Chau Nguyen
fuente
1

Me pasó porque la carpeta / archivo fue bloqueado por otro proceso. Usé una herramienta (LockHunter) para terminar ese proceso y comenzó a funcionar nuevamente (posible razón).

hummus
fuente
1

Pruebe npm i -g npm. La versión 6.9 de NPM es un trabajo para mí.

karlos
fuente
1

Windows 10,

Ejecutar el IDE (en mi caso IntelliJ) en modo administrador y ejecutar npm install resuelve el problema.

Si no hay IDE, ejecute CMD en modo administrador e intente ejecutar npm install

Sasi Kumar M
fuente
1

Estaba ejecutando el servidor create-react-app. Simplemente detuvo el servidor y todo funcionó bien.

Saffer
fuente
1
¡Esto resolvió mi problema! Creo que deberías probar esto primero antes de probar los demás. Dado que otras respuestas requieren más esfuerzo.
Irfandy Jip
0

La ejecución de comandos npm en Windows Powershell resolvió mi problema.

Sai Prasad
fuente
No necesito editar ninguno de los archivos de configuración locales u otros
Sai Prasad
0

Lo mismo para mí, mi solución fue cerrar Android Studio, AVD Manager, Visual Studio y reinstalar. Ejecuté este comando para actualizar mi expo cli:

npm install -g expo-cli
Loitd
fuente
0

Aparentemente, el software antivirus también puede causar este error. En mi caso, la Protección contra ransomware de Windows Security protegía las carpetas de mis usuarios, lo que provocó este error.

orden
fuente
0

Para mí, fue un problema con el archivo .npmrc. Que está presente en C: \ Users \ myname.npmrc De alguna manera, el contenido del archivo .npmrc cambió. He cambiado el contenido comparándolo con la computadora portátil de mis colegas. Así que resolvió.

Como referencia, también estoy agregando el contenido del archivo .npmrc

 ;;;;
 ;npm userconfig file
 ;this is a simple ini-formatted file
 ;lines that start with semi-colons are comments.
 ;read `npm help config` for help on the various options
 ;;;;

 //registry.npmjs.org/:_authToken=95632bcf-3056-4538-b57d-38426736e3a0
 scope=true
 @true:registry=https://registry.npmjs.org/

 ;;;;
 ;all options with default values
 ;;;;
 ;access=null

 ;allow-same-version=false

 ;always-auth=false

 ;also=null

 ;audit=true

 ;audit-level=low

 ;auth-type=legacy

 ;before=null

 ;bin-links=true

 ;browser=null

 ;ca=null

 ;cafile=undefined

 ;cache=C:\Users\myname\AppData\Roaming\npm-cache

 ;cache-lock-stale=60000

 ;cache-lock-retries=10

 ;cache-lock-wait=10000

 ;cache-max=null

 ;cache-min=10

 ;cert=null

 ;cidr=null

 ;color=true

 ;depth=null

 ;description=true

 ;dev=false

 ;dry-run=false

 ;editor=notepad.exe

 ;engine-strict=false

 ;force=false

 ;fetch-retries=2

 ;fetch-retry-factor=10

 ;fetch-retry-mintimeout=10000

 ;fetch-retry-maxtimeout=60000

 ;git=git

 ;git-tag-version=true

 ;commit-hooks=true

 ;global=false

 ;globalconfig=C:\Users\myname\AppData\Roaming\npm\etc\npmrc

 ;global-style=false

 ;group=0

 ;ham-it-up=false

 ;heading=npm

 ;if-present=false

 ;ignore-prepublish=false

 ;ignore-scripts=false

 ;init-module=C:\Users\myname\.npm-init.js

 ;init-author-name=

 ;init-author-email=

 ;init-author-url=

 ;init-version=1.0.0

 ;init-license=ISC

 ;json=false

 ;key=null

 ;legacy-bundling=false

 ;link=false

 ;local-address=undefined

 ;loglevel=notice

 ;logs-max=10

 ;long=false

 ;maxsockets=50

 ;message=%s

 ;metrics-registry=null

 ;node-options=null

 ;node-version=10.15.2

 ;offline=false

 ;onload-script=null

 ;only=null

 ;optional=true

 ;otp=null

 ;package-lock=true

 ;package-lock-only=false

 ;parseable=false

 ;prefer-offline=false

 ;prefer-online=false

 ;prefix=C:\Program Files\nodejs

 ;preid=

 ;production=false

 ;progress=true

 ;proxy=null

 ;https-proxy=null

 ;noproxy=null

 ;user-agent=npm/{npm-version} node/{node-version} {platform} {arch}

 ;read-only=false

 ;rebuild-bundle=true

 ;registry=https://registry.npmjs.org/

 ;rollback=true

 ;save=true

 ;save-bundle=false

 ;save-dev=false

 ;save-exact=false

 ;save-optional=false

 ;save-prefix=^

 ;save-prod=false

 ;scope=

 ;script-shell=null

 ;scripts-prepend-node-path=warn-only

 ;searchopts=

 ;searchexclude=null

 ;searchlimit=20

 ;searchstaleness=900

 ;send-metrics=false

 ;shell=C:\windows\system32\cmd.exe

 ;shrinkwrap=true

 ;sign-git-commit=false

 ;sign-git-tag=false

 ;sso-poll-frequency=500

 ;sso-type=oauth

 ;strict-ssl=true

 ;tag=latest

 ;tag-version-prefix=v

 ;timing=false

 ;tmp=C:\Users\myname\AppData\Local\Temp

 ;unicode=false

 ;unsafe-perm=true

 ;update-notifier=true

 ;usage=false

 ;user=0

 ;userconfig=C:\Users\myname\.npmrc

 ;umask=0

 ;version=false

 ;versions=false

 ;viewer=browser

 ;_exit=true

 ;globalignorefile=C:\Users\myname\AppData\Roaming\npm\etc\npmignore
Thilak Raj
fuente
0

Para aquellos que intentan actualizar la configuración

Si tiene problemas para actualizar su configuración de npm, intente ejecutarlo usando el indicador -g . Esto me resolvió el problema en Win 10 después de probar todo lo demás.

npm config edit -g

Puedo actualizar la configuración y los cambios se reflejan en todas partes. Esto puede deberse a la ejecución de npm en un ámbito organizativo.

fábrica polaris
fuente
0

npm install cross-env Prueba esto, funcionó para mí.

Mohit Poddar
fuente