npm - EPERM: operação não permitida no Windows

105

Eu corri

npm config set prefix /usr/local

Depois de executar esse comando, ao tentar executar qualquer comando npm no sistema operacional Windows, continuo recebendo o seguinte.

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

Excluiu todos os arquivos de

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

Não funcionou.

Alguma sugestão ?

Lahar Shah
fonte
25
Correr npm cache clean --forceresolveu o problema para mim.
Nuhman
Rodar npm cache clean --force por duas vezes funcionou para mim.
VIshal Jain

Respostas:

101

Executar este comando foi meu erro.

npm config set prefixo / usr / local

O caminho /usr/localnão é para janelas. Este comando mudou a variável de prefixo em'C:\Program Files (x86)\Git\local'

Para acessar e fazer uma alteração neste diretório, preciso executar meu cmd como administrador.

Então eu fiz:

  1. Execute cmd como administrador
  2. Executar npm config edit(você obterá o editor de bloco de notas)
  3. Alterar prefixvariável paraC:\Users\<User Name>\AppData\Roaming\npm

Em seguida, npm startfunciona em um console normal.

Lahar Shah
fonte
4
isso resolveu meu problema também (windows 10), obrigado.
AntonB de
No meu caso, simplesmente descomentei prefix(foi ;prefix...) after npm config edite Profit. Não tenho certeza se isso é uma coisa inteligente, mas funcionou.
ruffin
no meu caso, eu não tinha direitos de administrador para mim no laptop, então aqui está como fiz: stackoverflow.com/a/57249779/10603466
Rishabh Jain
Executar novamente enquanto o administrador corrige meu problema.
Inquebrável
31

Isso ocorre porque o Windows não está dando permissão ao usuário para criar uma pasta dentro da unidade do sistema. Para resolver isso:

Clique direito

A Pasta> Propriedades > Guia Segurança

Clique em Editar para alterar as permissões> Selecione o usuário e dê controle total a esse usuário.

RatneZ
fonte
2
Adicione alguma explicação com a resposta de como esta resposta ajuda o OP a corrigir o problema atual
ρяσѕρєя K
1
Conceder ao usuário acesso para alterar as pastas do sistema não é uma boa ideia, especialmente quando isso pode ser facilmente corrigido alterando o prefixo para uma pasta no diretório pessoal do usuário.
atomic77
1
isso não funcionará com um laptop da empresa em que você não seja o administrador do sistema.
schlingel de
26

Às vezes, tudo o que é necessário é parar o servidor de desenvolvimento antes de instalar / atualizar os pacotes.

Ezra Obiwale
fonte
1
Tive esse problema no WebStorm. Obrigado! Isso resolveu o problema.
takasoft de
1
que estranho, mas é verdade ... instalar [email protected] para testar ganchos de reação não funcionou até tentar isso
Dimitar Nikovski
Para adicionar a isso, se você suspeitar que o problema é o seu servidor de desenvolvimento em execução, mas não sabe como pará-lo, basta fazer logout / reiniciar o Windows para sempre corrigir esta falha
Ng Sek Long
24

Recentemente, tive o mesmo problema quando fiz o upgrade para a nova versão, a única solução era fazer o downgrade

Para desinstalar:

npm uninstall npm -g

Instale a versão anterior:

npm install npm@5.3 -g

Tente atualizar a versão em outro momento.

Leonardo Oliveira
fonte
2
O mesmo aqui. Parece que atualizar o npm era o problema
SokIsKedu
Exatamente, estou acompanhando este tópico para saber quando será consertado.
Leonardo Oliveira
isso consertou para mim!
Jim
A propósito, atualizei de 5.4.1 para 5.4.2 e o problema parece ter desaparecido - então, acho que o problema pode ter sido corrigido. Um pouco difícil de dizer, pois o tópico a que Leonardo se referia estava bloqueado.
Suporte do Mantis de
Funcionou para mim também. Obrigado @LeonardoOliveira pela ajuda
Vipin
13

No meu caso, estava enfrentando esse erro porque meu diretório e seu arquivo foram abertos no meu editor (código VS) enquanto eu estava executando npm install. Resolvi o problema fechando meu editor e executando npm installa linha de comando.

Shashank Rawat
fonte
10

Eu tive o mesmo problema, após atualizar o npm. Resolvido isso reinstalando o npm mais recente novamente com:

npm i -g npm

mas desta vez com cmd em execução no modo de administração.

Fiz tudo isso porque suspeitei que havia um problema com a atualização, principalmente alguns arquivos ausentes.

Salimd83
fonte
10

Eu uso o Windows 10. Iniciei o CMD como administrador e ele resolveu o problema.

Encontre o CMD, clique com o botão direito e clique em abrir como administrador.

DIANGELISJ
fonte
isso resolveu meu problema.
muneeb_ahmed
@EtienneGautier Isso ... simplesmente não é verdade. Qual é a sua solução proposta para modificar arquivos do sistema? Se houver outra maneira de fazer isso além de "permissões de administrador", então há algo muito errado com a segurança do sistema operacional.
Clonkex
Olá @Clonkex, eu estava supondo que o contexto era o da NPM (de acordo com a pergunta). Ainda assim, meu comentário não é relevante, estou excluindo-o. Obrigado pelo seu feedback.
Etienne Gautier
@EtienneGautier Ah, é justo.
Clonkex
7

para mim, era uma questão de alterar as pastas existentes em node_module, então eu destruí a pasta inteira e executei npm install novamente. funciona sem erros depois disso

Sonic Soul
fonte
7

Eu tinha uma versão desatualizada de npm. Executei uma série de comandos para resolver esse problema:

npm cache clean --force

Então:

npm install -g npm@latest --force

Então (mais uma vez):

npm cache clean --force

E finalmente consegui executar isso (instalando o projeto Angular) sem os erros que eu estava vendo em relação a EPERM:

ng new myProject
LatentDenis
fonte
6

Tive o mesmo problema quando tentei instalar o pacote npm AVA. A solução para mim foi excluir a pasta node_modules e forçar a limpeza do cache npm:

rm -rf node_modules
npm cache clean --force

Eu poderia então instalar o pacote npm sem problemas.

Liran H
fonte
Sim, de alguma forma eu estava tendo pastas node_modules no diretório de trabalho atual. Essa exceção foi lançada quando tentei executar os comandos do angular cli 'ng new ..'. Excluir pastas node_modules ajudou.
Ashokan Sivapragasam
3

Maneira mais simples

Espero não estar atrasado para este post, mas recentemente até eu também fui atingido por esse problema. E também não tinha direitos de administrador no meu laptop.

Esta é a maneira mais simples de consertar o bug.

  1. Localize o nome do arquivo .npmrc(ele estará em C:\Users\<user name>\.npmrc)
  2. Abra-o e mude o caminho de prefix=paraprefix=C:\Users\<user name>\AppData\Roaming\npm

espero que seja útil ..

Rishabh Jain
fonte
Tive esse problema ao usar o WebStorm. Essa é a única coisa na primeira página do Google que resolveu meu problema. Obrigado Rishabh!
Leandro
3

Se você obtiver este erro em um prompt de terminal / comandos do IDE, tente excluir node_modules, feche o IDE e execute o npm installcomando novamente. O momento em que o IDE iniciou, mas ainda não concluiu sua análise da árvore node_modules, é um momento complicado, quando a instalação de pacotes pode falhar porque o IDE ainda está verificando o conteúdo de node_modules.

Kote Isaev
fonte
3

Reiniciar o VsCode resolveu para mim.

Legendas
fonte
1

Eu tive o mesmo problema, pois estava usando a LAN da minha empresa. E acabei de executar cmd.exe npme fui capaz de executar meus outros comandos sem nenhum erro depois disso.

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

Apenas compartilhar isso, pois pode ajudar outras pessoas que tentam fazer isso na LAN de seu escritório. Obrigado.

Sibeesh Venu
fonte
1

Apenas execute cmd como administrador. exclua a pasta node_modules antiga e execute npm install novamente.

Rahul Khunt
fonte
1
O npm install deve funcionar sem iniciar o CMD como administrador. Não está funcionando em cmd normal (não admin) também é um problema.
Lahar Shah
1

Encontre este comando npm cache cleancomo uma solução para esses erros de forma rápida e simples!

Hanny Setiawan
fonte
1

Atualizei minha versão do nó para 8.9.4 e executei o comando de instalação necessário novamente no prompt de comando do administrador. Funcionou para mim!

Rahul Sharma
fonte
1

Uma reinicialização do meu laptop e então

npm install

funcionou para mim!

Chau Nguyen
fonte
1

Aconteceu comigo já que a pasta / arquivo foi bloqueado por outro processo. Utilizou uma ferramenta (LockHunter) para encerrar aquele processo e voltou a funcionar (possível motivo).

Húmus
fonte
1

Experimente npm i -g npm. A versão 6.9 do NPM é um trabalho para mim.

karlos
fonte
1

Windows 10,

Executar o IDE (no meu caso, IntelliJ) no modo de administrador e executar npm install resolve o problema.

Se não houver IDE, execute o CMD no modo de administrador e tente executar a instalação npm

Sasi Kumar M
fonte
1

Eu estava executando o servidor criar-reagir-app. Simplesmente interrompeu o servidor e tudo funcionou perfeitamente.

Saffer
fonte
1
Isso resolveu meu problema! Acho que você deve tentar isso primeiro, antes de tentar os outros. Já que outras respostas exigem mais esforço.
Irfandy Jip
0

Executar comandos npm no Windows Powershell resolveu meu problema.

Sai Prasad
fonte
Não preciso editar nenhum dos arquivos de configuração local ou outro
Sai Prasad
0

O mesmo para mim, minha solução foi fechar o Android Studio, AVD Manager, Visual Studio e reinstalar. Eu executei este comando para atualizar meu expo cli:

npm install -g expo-cli
Loitd
fonte
0

Aparentemente, o software antivírus também pode causar esse erro. No meu caso, eu tinha a Proteção contra Ransomware do Windows Security protegendo minhas pastas de usuário, o que causou esse erro.

orrd
fonte
0

Para mim, era um problema com o arquivo .npmrc. Que está presente em C: \ Users \ myname.npmrc De alguma forma, o conteúdo do arquivo .npmrc foi alterado. Eu mudei o conteúdo comparando com o laptop de meus colegas. Então foi resolvido.

Para referência, estou adicionando o conteúdo do arquivo .npmrc também

 ;;;;
 ;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
fonte
0

Para aqueles que estão tentando atualizar a configuração

Se tiver problemas para atualizar a configuração do npm, tente executar usando a sinalização -g . Isso resolveu o problema no Win 10 para mim, depois de tentar de tudo.

npm config edit -g

Consigo atualizar a configuração e as alterações são refletidas em todos os lugares. Isso pode ser devido à execução do npm em um escopo organizacional.

factorypolaris
fonte
0

npm install cross-env Experimente isto funcionou para mim.

Mohit Poddar
fonte