Depois de executar nvm install latest
, a versão do nó 12.5.0
e a versão do npm v6.9.0
são instaladas.
Após o comando de instalação, nenhum erro é mostrado:
ocorre o seguinte problema:
A pasta node_modules/ está vazia:
Basta instalar uma versão e verificar o que acontece. não sei exatamente como isso funciona, mas parece ser algo relacionado à nova mudança de URL do projeto npm/cli.
Você está 100% certo de que está executando o 1.1.7? Eu pergunto porque a mudança npm/cli era um problema de URL codificado que existia em 1.1.6 e foi corrigido em 1.1.7.
infelizmente, 100% certo @coreybutler
hahaha
aqui está minha captura de tela da versão:
Um amigo meu acabou de instalar o nvm 1.1.7 em sua máquina e eu atualizei o meu também para obter a versão mais recente do npm, sem sorte infelizmente
Desculpe, tive que perguntar :-)
Eu não posso recriar isso.
Normalmente, tudo se resume a a) permissões, b) problema de rede durante o download. Às vezes, o problema de rede está no servidor remoto, especialmente quando uma nova versão de nó/npm foi enviada. Essa mensagem de erro aparece o tempo todo, mas por vários motivos diferentes, dificultando a identificação da origem real do problema.
Para reproduzir esse problema, tive que desinstalar o Node e o NPM e fazer uma nova instalação usando apenas o NVM, então recebo o erro.
Percebi que durante o processo de instalação o material relacionado ao NPM é baixado para uma pasta temporária, mas depois nunca é movido para nenhum lugar e a pasta temporária é excluída.
Mesmo executando o powershell como administrador, então não acho que seja relacionado à permissão.
Durante a instalação:
Após a instalação:
@gsicoli Você está correto que o npm baixa para um diretório temporário e é movido. Se a operação de movimentação estiver falhando silenciosamente, isso fará com que o diretório seja excluído sem mover o npm para onde ele precisa estar (ou seja, esse comportamento).
Você é avisado quando executa nvm use
ou nvm install
? Executar como administrador não significa necessariamente que a conta tenha permissões elevadas. Normalmente, o Windows solicitará que você eleve as permissões. Para uma conta de administrador, ela é concedida automaticamente, mas ainda exige que o usuário diga "OK".
Ele avisa quando não executo como administrador. Se eu executo como administrador, ele não solicita... No entanto, o efeito é o mesmo.
Enfrentando o mesmo problema no Windows 10. Se houver alguma informação que eu possa fornecer, ficarei feliz em ajudar!
No entanto, não parece estar relacionado a uma determinada versão do nó; a pasta node_modules está sempre vazia para as versões que tento instalar. Sou solicitado para permissões elevadas.
Tem o mesmo problema. Existe uma solução alternativa?
Tem o mesmo problema. Esta é a minha tentativa e funciona para mim:
node_modules
se ele já existir em version drectory
localizado no diretório de instalação nvm (por exemplo, C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).node_modules
para version directory
inferido na etapa anterior.Tem o mesmo problema. Então, apliquei a solução alternativa de @liuwenzhuang. De fato, agora npm
funciona bem. No entanto, recebo o seguinte erro em npm up -g
Desligar a McAfee e executar a instalação do console de administração corrigiu isso para mim.
@helzgate : Isso não faz sentido para mim. Meus logs de vírus não mostram exatamente nada.
Você pode fornecer um log de sua atividade da McAfee?
Eu posso confirmar isso. Com o mcafee ativado, o npm é descompactado, mas a movimentação falha sem nenhum erro. Os logs da McAfee não mostram nada. Desabilitar o mcafee durante a instalação corrige o problema.
@coreybutler Eu sei que não é uma boa solução, mas aparentemente a descompactação funciona, então seria possível descompactar diretamente na pasta nodes_module/npm em vez de descompactar para temp e mover?
Estou com o mesmo problema, mas parece acontecer apenas com a instalação do nó 6 (ou acontece porque instalei o nó 6 depois de fazer nvm install latest
?). A instalação do NPM trava indefinidamente e me deparo com o mesmo erro npm-cli
listado acima.
Eu tenho o McAfee Endpoint Security instalado, mas como é um PC gerenciado em um escritório, não há como desativá-lo para ver se esse é o problema. O NPM continua travando após 10 minutos do processo de instalação. Não existe uma maneira de modificar o NVM para pelo menos detectar travamentos ou que um processo não seja concluído conforme o esperado?
Note, este comentário funciona totalmente! Seria ótimo se fosse isso que o instalador nvm
fizesse.
@matthew-dean O mesmo aqui com a McAfee. Embora eles não tenham definido corretamente minhas permissões para que eu possa desativá-lo. Vou ver se essa é a causa do problema amanhã quando voltar ao trabalho. Eu não ficaria surpreso; o instalador de pacotes do dart relatou um problema semelhante ao instalar algum pacote (que também funcionou baixando para temp e depois movendo para outro lugar).
Sim, este é realmente o problema para mim! Há alguma operação lá que o McAfee Endpoint Security impede silenciosamente.
Instalando qualquer versão com o McAfee ativo => sem npm
Instalando qualquer versão com a McAfee desabilitada => npm está incluído e funcionando bem
O erro mencionado acima , ao executar npm update -g
, também está relacionado à McAfee? Ou isso é um efeito colateral da solução alternativa ?
Não pense assim. Não mudou nada para mim se eu desativei a McAfee ou não. Observe também que já existem dois problemas nesse tópico ( um mais longo e um mais curto com um script que permite que você ainda atualize o npm, parece (não testei, mas tem mais de 30 polegares)
Obrigado! Seguindo uma versão aprimorada desse script para bash . (Talvez seja necessário ajustar o local nodejs
.) Anexe-o ao seu ~/.bashrc
e execute npmup
em um novo bash. Ou execute diretamente os comandos do corpo da função de uma só vez. Esta versão realmente faz uma atualização, em vez de (re)instalar todas as vezes.
function npmup {
pushd /c/Program\ Files/nodejs > /dev/null
mv npm npm2
mv npm.cmd npm2.cmd
mv npx npx2
mv npx.cmd npx2.cmd
node node_modules/npm/bin/npm-cli.js up npm -g
mv -n npm2 npm
mv -n npm2.cmd npm.cmd
mv -n npx2 npx
mv -n npx2.cmd npx.cmd
rm -f npm2 npm2.cmd npx2 npx2.cmd
popd > /dev/null
}
O comentário a que me referi já foi removido, desculpe a confusão.
Usando 1.1.7, eu estava enfrentando o mesmo problema com o NPM não sendo copiado da pasta "temp", ao executar uma nova instalação do Node.js + NPM usando o NVM. Como uso uma máquina da empresa, não consigo testar com o McAfee Endpoint Security desativado.
No entanto, criei o NVM a partir do "mestre" hoje e verifiquei que ele é capaz de instalar corretamente do zero sem problemas.
Observe que esse problema não é _apenas_ que o NPM falha ao instalar, mas o utilitário de linha de comando NVM também falha ao _reconhecer_ que o NPM não foi instalado. IMO, o instalador não está realizando uma etapa necessária para verificar se o diretório está presente, o que evitaria alguma confusão em torno desse problema.
@hind3nbug O mesmo para mim, o McAfee Endpoint Security não pode ser desabilitado em uma máquina corporativa, portanto, ainda precisa haver uma maneira adequada de instalar o NPM. Deve haver alguma maneira de fazer isso.
Usando 1.1.7, eu estava enfrentando o mesmo problema com o NPM não sendo copiado da pasta "temp", ao executar uma nova instalação do Node.js + NPM usando o NVM. Como uso uma máquina da empresa, não consigo testar com o McAfee Endpoint Security desativado.
No entanto, criei o NVM a partir do "mestre" hoje e verifiquei que ele é capaz de instalar corretamente do zero sem problemas.
Você pode compartilhar sua versão? Não consigo construir nvm a partir do código-fonte :(
@hind3nbug & @coreybutler... então esse problema foi resolvido? mas não lançou nova versão nvm? quando uma nova versão é estimada?
Eu tinha o Nodist instalado antes do nvm-windows. Deixou um arquivo .npmrc
no diretório inicial ( %userprofile%
). Eu tive que removê-lo e tentar o comando nvm use
novamente para acertar tudo.
Isso aconteceu comigo hoje - desinstalar a versão e reinstalá-la parecia corrigir o problema.
Eu estava recebendo uma falha silenciosa na instalação do npm.
Eu pensei que poderia ser o antivírus do Windows, então desativei isso:
Estranhamente agora a falha não é silenciosa:
$ nvm install 12.12.0
Downloading node.js version 12.12.0 (64-bit)...
Complete
Creating C:\ProgramData\nvm\temp
Downloading npm version 6.11.3... Download failed. Rolling Back.
Rollback failed. remove C:\ProgramData\nvm\temp\npm-v6.11.3.zip: The process cannot access the file because it is being used by another process.
Could not download npm for node v12.12.0.
Please visit https://github.com/npm/npm/releases/tag/v6.11.3 to download npm.
It should be extracted to C:\ProgramData\nvm\v12.12.0
Você executou nvm on
após a instalação?
Tenho que fazer isso toda vez que instalo uma nova versão do Node.js?
Eu tenho usado nvm por alguns anos e nunca tive que fazer nvm on
antes.
Decidi encerrar este problema porque isso está começando a tocar em vários outros problemas. Vamos nos ater a um problema por tópico. Abra um novo problema se o seu problema não for resolvido.
Vou tentar resumir com base no que li:
1) npm será instalado pelo nvm. Se você estiver vendo o caminho antigo (npm/npm), precisará atualizar o NVM4W para 1.1.7. Se você não tiver as permissões apropriadas, ele falhará. Essa é a natureza e a intenção do Windows e por que existem os prompts do UAC.
2) Seu antivírus pode impedir que o NVM4W mova os arquivos do npm do diretório temporário para seu local final. Desligue-o ou abra uma exceção. Veja o ponto 3.
3) O NVM4W foi submetido a todos os principais fornecedores de antivírus e está sendo aprovado (em teoria). No entanto; o software antivírus muda as definições o tempo todo, tornando isso difícil de acompanhar. Alguns AV fora da marca baseiam suas definições em conhecimentos muito desatualizados, sendo o mais desafiador que alguns bloqueiam completamente os programas. Houve um falso positivo no tempo de execução go alguns anos atrás... há muito tempo foi patch e o NVM4W nunca sofreu com o exploit de qualquer maneira... mas algumas empresas de AV bloqueiam toda a assinatura da linguagem go.
4) Na verdade, eu nunca desligo e ligo o nvm. Você realmente não deveria, mas foi projetado para ajudar a testar seu sistema.
Tem o mesmo problema. Esta é a minha tentativa e funciona para mim:
- baixe a versão do node necessário de https://nodejs.org/en/download/releases/ no formato zip (ou outro formato)
- Exclua o diretório
node_modules
se ele já existir emversion drectory
localizado no diretório de instalação nvm (por exemplo, C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).- descompacte o arquivo da etapa 1 e copie o diretório
node_modules
paraversion directory
inferido na etapa anterior.- npm funciona
Eu tentei de tudo por dois dias... nvm, reinstalação de nós, reinícios, mudanças de PATH, e esta é a única coisa que realmente funcionou como um encanto!
@coreybutler posso sugerir adicionar a sugestão de @liuwenzhuang a readme.md ou Common-Issues ?
Isso pode economizar o tempo de alguém.
Olá, é o meu caso, esta mensagem no console me deu a pista sobre o erro:
Visite https://github.com/npm/npm/releases/tag/v6.14.4 para baixar npm.
Ir para a página https://github.com/npm/npm/ mostra que o repositório foi movido e agora está em https://github.com/npm/cli. Ou seja, você teria que procurar a v6.14.4 no referido repositório.
Também enfrentei o mesmo problema no Windows 10. E isso pode ser resolvido desativando a proteção da McAffe.
Abra o McAffe Endpoint Security > Threat Prevntion > Disable Access Protection e On access scan module (Desmarque)
execute > versão de instalação do nvm
@coreybutler : Acho que você deve fornecer alguma notificação relativa se o npm não for instalado corretamente.
Tem o mesmo problema. Esta é a minha tentativa e funciona para mim:
- baixe a versão do node necessário de https://nodejs.org/en/download/releases/ no formato zip (ou outro formato)
- Exclua o diretório
node_modules
se ele já existir emversion drectory
localizado no diretório de instalação nvm (por exemplo, C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).- descompacte o arquivo da etapa 1 e copie o diretório
node_modules
paraversion directory
inferido na etapa anterior.- npm funciona
Obrigado @liuwenzhuang Seu comentário realmente ajudou hoje. Estou lutando com esse bug há alguns dias
Por que as pessoas estão baixando o nó do site para usar com o nvm, não é para isso que o nvm deveria ser? 😉 você também pode não usar nvm.
Eu tinha um link simbólico fantasma que o nvm havia criado anteriormente que não podia excluir por causa das permissões do shell. Acho que é porque estou usando o nvm no git bash shell como usuário não elevado.
Eu deletei no prompt de comando do administrador:
del /f c:\Program Files\nodejs
Em seguida, fiz um novo link simbólico para uma versão que baixei usando o nvm:
mklink /j "C:\Program Files\nodejs" "C:\Users\USER_NAME\AppData\Roaming\nvm\NODE_VERSION"
Eu não tentei nvm use NODE_VERSION
mas há uma boa chance se você excluir o link simbólico antes de invocá-lo, ele fará o link para você (suponho que esse seja o comportamento esperado). Provavelmente precisaria usar algo assim: https://github.com/imachug/win-sudo
Tem o mesmo problema. Esta é a minha tentativa e funciona para mim:
- baixe a versão do node necessário de https://nodejs.org/en/download/releases/ no formato zip (ou outro formato)
- Exclua o diretório
node_modules
se ele já existir emversion drectory
localizado no diretório de instalação nvm (por exemplo, C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).- descompacte o arquivo da etapa 1 e copie o diretório
node_modules
paraversion directory
inferido na etapa anterior.- npm funciona
Isso funcionou!!!
Eu também tive o mesmo problema com o McAfee + Win 10 + PowerShell. - Muito obrigado @liuwenzhuang
Não tenho certeza por que isso foi fechado, mas estou tendo o mesmo problema, nova instalação do Windows 10, nova instalação do nvm, sem antivírus (exceto embutido). A correção oficial não é ignorar o motivo pelo qual estou usando o nvm, é?
Este comentário funciona para mim: https://github.com/coreybutler/nvm-windows/issues/475#issuecomment -538475058
Só fazendo nvm on
... achei que estava 'on' logo após a instalação 😄
Quando a versão do seu npm local é mais recente, ele pode não instalar a mesma versão npm quando você instala o nó mais recente, isso acontecerá?
Uma das minhas máquinas do escritório tem McAfee e acho que está parando de instalar (copiar) a pasta npm. Mas abaixo do passo vem como um resgate para mim. Obrigado.
Tem o mesmo problema. Esta é a minha tentativa e funciona para mim:
- baixe a versão do node necessário de https://nodejs.org/en/download/releases/ no formato zip (ou outro formato)
- Exclua o diretório
node_modules
se ele já existir emversion directory
localizado no diretório de instalação nvm (por exemplo, C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).- descompacte o arquivo da etapa 1 e copie o diretório
node_modules
paraversion directory
inferido na etapa anterior.- npm funciona
Isso funciona de mim, como um encanto !!
Eu acho que adicionar uma etapa de teste para confirmar a instalação bem-sucedida de qualquer versão
nodejs
aténvm-windows
será muito útil para economizar tempo. Se falhar, forneça alguns insights prováveis para resolvê-lo.
@coreybutler pensou?
Obrigado.
@Amitesh - Acho que fazer verificações de integridade é uma boa ideia. No entanto; Eu não tenho tempo para fazer isso agora (veja a guia de discussão, primeiro post). Eu aceitaria um PR se alguém quisesse adicionar isso.
Ainda estou enfrentando o problema npm não reconhecido no Windows 10 para o nó recém-instalado (10.23.0) usando nvm (1.1.7)
Eu segui os passos abaixo, mas não adianta
baixe a versão do node necessário de https://nodejs.org/en/download/releases/ no formato zip (ou outro formato)
Exclua o diretório node_modules se ele já existir no diretório de versão localizado no diretório de instalação nvm (por exemplo, C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
descompacte o arquivo da etapa 1 e copie o diretório node_modules para o diretório de versão inferido na etapa anterior.
npm funciona
alguém pode me orientar como fazer isso funcionar :( @coreybutler alguma ajuda por favor?
Acabei de encontrar uma solução alternativa, analisando os comentários relacionados à proteção antivírus.
Estou no Windows 10, 64 bits, versão 1909 (compilação 18363.1139)
Comentários muito úteis
Tem o mesmo problema. Esta é a minha tentativa e funciona para mim:
node_modules
se ele já existir emversion drectory
localizado no diretório de instalação nvm (por exemplo, C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).node_modules
paraversion directory
inferido na etapa anterior.