Nvm-windows: npm falha: "Não é possível encontrar o módulo 'semver' (nó v8.4.0)

Criado em 15 set. 2017  ·  39Comentários  ·  Fonte: coreybutler/nvm-windows

Se esta é uma questão sobre como usar o NVM4W, use stackoverflow .

Se este for um problema relacionado ao antivírus, certifique-se de pesquisar os problemas existentes primeiro.

Meu ambiente

  • [] Windows 7 ou inferior (sem suporte devido ao EOL - consulte o wiki para obter detalhes)
  • [] Windows 8
  • [] Windows 8.1
  • [X] Windows 10
  • [] Windows 10 IoT Core
  • [] Windows Server 2012
  • [] Windows Server 2012 R2
  • [] Windows Server 2016

  • [] Minha instalação do Windows não está em inglês.

Estou usando a versão NVM4W:

  • [] 1.1.6
  • [X] 1.1.5
  • [] 1.1.4
  • [] 1.1.3
  • [] 1.1.2
  • [] 1.1.1
  • [ ] Mais velho
  • [ ] Outro (por favor, especifique)

Eu já...

  • [X] leia o README para estar ciente dos problemas do npm e antivírus.
  • [X] revisou o wiki para ter certeza de que meu problema ainda não foi resolvido.
  • [X] verificou que estou usando uma conta com privilégios administrativos.
  • [X] pesquisou os problemas (abertos e fechados) para se certificar de que não era uma duplicata.
  • [X] certificou-se de que esta não é uma questão sobre como usar o NVM para Windows, já que o gitter é usado para perguntas e comentários.

Meu problema está relacionado a (marque apenas os que se aplicam):

  • [] settings.txt
  • [] suporte a proxy (você tentou a versão 1.1.0+?)
  • [] Suporte de 32 ou 64 bits (você tentou a versão 1.1.3+?)
  • [] Caractere de escape (você tentou a versão 1.1.6+?)
  • [X] Um ambiente shell padrão (terminal / powershell)
  • [] Um ambiente de shell não padrão (Cmder, Hyper, Cygwin, git)

Comportamento esperado

Retorne o número da versão correto.

Comportamento Real

module.js: 491
jogue err;
^

Erro: Não é possível encontrar o módulo 'semver'
em Function.Module._resolveFilename (module.js: 489: 15)
em Function.Module._load (module.js: 439: 25)
em Module.require (module.js: 517: 17)
em require (internal / module.js: 11: 18)
em Object.(C: \ Users \ leofu \ AppData \ Roaming \ nvm \ nvm \ v8.4.0 \ node_modules \ npm \ lib \ utils \ unsupported.js: 2: 14)
em Module._compile (module.js: 573: 30)
em Object.Module._extensions..js (module.js: 584: 10)
em Module.load (module.js: 507: 32)
em tryModuleLoad (module.js: 470: 12)
em Function.Module._load (module.js: 462: 3)
module.js: 491
jogue err;
^

Erro: Não é possível encontrar o módulo 'semver'
em Function.Module._resolveFilename (module.js: 489: 15)
em Function.Module._load (module.js: 439: 25)
em Module.require (module.js: 517: 17)
em require (internal / module.js: 11: 18)
em Object.(C: \ Users \ leofu \ AppData \ Roaming \ nvm \ nvm \ v8.4.0 \ node_modules \ npm \ lib \ utils \ unsupported.js: 2: 14)
em Module._compile (module.js: 573: 30)
em Object.Module._extensions..js (module.js: 584: 10)
em Module.load (module.js: 507: 32)
em tryModuleLoad (module.js: 470: 12)
em Function.Module._load (module.js: 462: 3)

Etapas para reproduzir o problema:

nvm install 8.4.0
nvm use 8.4.0
npm -v

help wanted

Comentários muito úteis

Mesmo no último 8.8.1.
Não tenho certeza de como consertar isso através do NVM, pois o que o SO sugere é apenas uma reinstalação limpa do nó. Dada a natureza das instalações do nvm, não tenho certeza de como replicar essas etapas. Portanto, a única maneira de usar o node v8 é simplesmente não usar o NVM?
https://stackoverflow.com/questions/33870520/npm-install-cannot-find-module-semver

Gambiarra

  1. nvm install 8.8.1 (ou outra versão que você quiser). Não mude para ele (ainda).
  2. Baixe o * .zip da mesma versão do nó do site oficial (https://nodejs.org/en/download/current/)
  3. Substitua o conteúdo de %APPDATA%/nvm/v8.8.1/npm pela pasta npm do arquivo baixado
  4. nvm use 8.8.1
  5. Apreciar

Todos 39 comentários

Este é um erro npm, não inteiramente um erro NVM. Eu sugiro reinstalar o nó 8.4.0 .... talvez o download do npm esteja ruim ou algo esteja corrompido.

@coreybutler Não funciona, continua falhando até mesmo desativando, desinstalando, removendo manualmente a pasta, reinstalando e reativando. Mesmo erro.

Eu até copiei as dependências de node_modules do npm de outra instalação normal de trabalho do nó 8.5.0 e ainda tendo problemas. Você poderia examinar mais a fundo e ver qual é o problema?

O nvm é uma ferramenta realmente útil, mas não funciona mais, e é uma pena :(

Não tenho certeza do que dizer a você ... Posso instalar semver muito bem com a mesma configuração.

image

@coreybutler acaba de abrir um novo problema com os detalhes

Meu próprio ambiente e as etapas que usei para replicar o problema aqui (duplicata fechada): # 305

Mesmo no último 8.8.1.
Não tenho certeza de como consertar isso através do NVM, pois o que o SO sugere é apenas uma reinstalação limpa do nó. Dada a natureza das instalações do nvm, não tenho certeza de como replicar essas etapas. Portanto, a única maneira de usar o node v8 é simplesmente não usar o NVM?
https://stackoverflow.com/questions/33870520/npm-install-cannot-find-module-semver

Gambiarra

  1. nvm install 8.8.1 (ou outra versão que você quiser). Não mude para ele (ainda).
  2. Baixe o * .zip da mesma versão do nó do site oficial (https://nodejs.org/en/download/current/)
  3. Substitua o conteúdo de %APPDATA%/nvm/v8.8.1/npm pela pasta npm do arquivo baixado
  4. nvm use 8.8.1
  5. Apreciar

obrigado @ roman-spiridonov acabou de encontrar o mesmo bug no nó 8.8.1 instalado via nvm no Windows e sua solução parece funcionar

Parece ter funcionado também com a versão mais recente do node (9.1.0).

parece npm que está instalado a partir do npm não é compatível com o próprio nó, você deve baixar o zip e substituir o módulo npm como @ roman-spiridonov sugerido

@coreybutler isso não será abordado? Estou vendo exatamente o mesmo erro - qualquer coisa acima = <8,0.

Infelizmente, não consigo executar npm i semver e recebo o mesmo erro.

@ roman-spiridonov Não acho que "npm" seja uma pasta, mas um arquivo no .zip baixado. Substituí-lo pelo baixado não parece resolver os problemas de sempre para mim (eu sei que outros tiveram sucesso)

Eu tenho o mesmo problema.

A solução alternativa de @ roman-spiridonov funciona para mim.

node 8.9.1
npm 5.5.1

@hyndsite você precisa olhar dentro do diretório node_modules - dentro dele está o diretório npm . Use isso e deve funcionar.

Obrigado @powellian . Descobri isso ontem e %APPDATA%/nvm/v8.8.1/node_modules/npm

O arquivo "npm" no caminho /nvm/vx.xx ajudou a confundir o assunto.

Obrigado, funciona, mas agora estou me perguntando por que o pacote que o nvm baixa e o que baixamos é diferente?

O mesmo problema com 8.9.0 e a solução alternativa de @ roman-spiridonov salvou o dia.

Como @benavern , estou curioso para repositório oficial.

Mesmo no último 8.9.4.
O erro foi resolvido excluindo o diretório 'C: \ Usuários \ seunome \ AppData \ Roamingnvm \ v *' e reexecutando 'instalação nvm'.

Gambiarra:

Se você encontrar esse problema e estiver usando o Windows 10, habilite caminhos longos usando o Editor do Registro ou o Editor de Política de Grupo Local.

Ref: https://github.com/coreybutler/nvm-windows/issues/305#issuecomment -345024594
Ref: https://superuser.com/a/1119948

Mas para mim, eu ainda precisava fazer a solução alternativa de @ roman-spiridonov. No entanto, não consegui copiar a pasta npm no Explorer, em vez disso, precisei usar o robocopy:

robocopy "C:\Users\username\Downloads\node-v8.9.4-win-x64\node_modules\npm" "C:\Users\username\AppData\Roaming\nvm\v8.9.4\node_modules\npm" /mir

alternativa para mover a raiz nvm. faça nvm root C:\nvm antes de instalar o novo nó.
também pode ser necessário copiar arquivos extras para a nova raiz.
se já estiver instalado, então:

nvm uninstall 8.x.x
nvm root C:\nvm
copy /Y %APPDATA%\nvm\* C:\nvm
nvm install 8.x.x

Eu tive o mesmo problema (erro: não é possível encontrar o módulo 'semver').

Algumas dicas para você começar:

A comparação de arquivos (usando o arquivo zip oficial) mostrou que realmente existem> 4k arquivos e pastas ausentes em node_modules\npm . Parece que a descompactação foi cancelada. Verificado para v8.9.1 e v8.9.4: todos os node_modules alfabeticamente atrás de libnpx estão ausentes. Não ficaria surpreso se se relacionasse com aquelas estruturas de pastas ridiculamente aninhadas: ...\nvm\v8.9.4\node_modules\npm\node_modules\libnpx\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\load-json-file\node_modules\parse-json\node_modules\error-ex\node_modules\is-arrayish\

Peguei o master atual do nvm-windows, adicionei algumas informações de depuração à função de instalação em nvm.go , compilei (com Go 1.10 win x64) e troquei o nvm.exe pelo novo. Resultado:

  • O arquivo zip npm que é baixado para o diretório temporário _é_ de fato o oficial. ( @benavern , @Akamaozu )
  • O arquivo zip foi totalmente extraído no diretório temporário e movido para a pasta específica da versão. Nenhum arquivo ausente.

Agora, a parte surpreendente, enquanto tentava encontrar a regressão:

  • Verificou a tag 1.1.6, compilou (sem quaisquer alterações), substituiu nvm.exe pelo novo, excluiu v8.9.4, executou nvm install 8.9.4 => bem-sucedido, sem arquivos ausentes
  • Verificou a tag 1.1.5, compilou (sem quaisquer alterações), substituiu nvm.exe pelo novo, excluiu v8.9.4, executou nvm install 8.9.4 => bem-sucedido, sem arquivos ausentes
  • Substituído nvm.exe pelo original da configuração oficial do nvm-windows (1.1.5), excluído v8.9.4, execute nvm install 8.9.4 => ainda erro , arquivos ausentes.

Parece que há um problema com o processo de compilação e / ou ambiente.

Seria ótimo se outra pessoa pudesse tentar se recriar o nvm.exe via build.bat ou go build src/nvm.go resolveria o problema para ela também.

HTH, codeshell

Exclua a pasta npm da pasta abaixo
C: \ Nome do usuário do usuário \ AppData \ Roamingnpm
after => npm install
Está funcionando bem para mim! ....

Corri para esse problema hoje e isso funcionou para mim.
1) Abra um terminal bash
2) CD em C: \ Usersusername \ AppData \ Roamingnpm \ node_modules \
3) deve ver um package.json
4) instalação do fio

@codeshell Obrigado pela sua análise. Eu descobri que o problema era devido aos longos caminhos que não são suportados no Windows. Para mim, mesmo depois de baixar o arquivo zip npm e substituir o conteúdo de C: \ Usuários \ seunome \ AppData \ Roamingnvm \ 9.11.1npm, recebi o erro. Na verdade, não consegui copiar todos os arquivos do arquivo zip npm baixado devido aos nomes longos.

Para evitar isso, desinstalei a versão 9.11.1 do nó e, em seguida, desinstalei o nvm. Nvm reinstalado em C: nvm. Agora meu 'nvm install 9.11.1' normal funciona bem e o 'npm' também está em bom estado, confirmado ao executar 'npm -v'.

Eu sei que essa é uma solução muito drástica, mas só preciso fazer uma vez.

Eu segui essas etapas e isso resolveu meu problema

  1. desinstalar Node.js
  2. Remova o conteúdo das seguintes pastas
    C: \ Usuários \\ AppData \ Roamingnpm-cache
    C: \ Usuários \\ AppData \ Roamingnpm
    C: \ Arquivos de programas \ nodejs
  3. Em seguida, instale novamente o Node _ https://nodejs.org/en/_

instalar o nó através do nvm 1.6.0 funcionou para mim

No meu caso, os caminhos eram longos demais. Escolhi c: nvm como o gerenciador de versão do diretório de instalação e c: \ nodejs para o diretório de link simbólico. Isso pareceu resolver o problema para mim.

Tive o mesmo problema com o node v10.4.0 e a solução alternativa de roman-spiridonov funcionou para mim.

Eu já tinha removido %AppData%\npm etc. antes de instalar o nvm-windows.

Tentei colocar o 10.4.1 em execução e tive problemas no início.

Comecei a trabalhar depois de excluir a pasta do local de instalação manualmente e instalar via nvm novamente. Não tenho certeza se este é um caminho muito longo (obviamente não) C:\Users\muser\AppData\Roaming\nvm\v10.4.1 .

O mesmo problema com a v10.5.0 e a solução roman-spiridonovs funcionou para mim também.

Eu tenho o mesmo problema ao instalar o nó v10.6.0 mais recente, então apenas desinstalei e mudei para v8.11.3, problema resolvido.

Eu também tentei baixar diretamente o npm-v6.1.0.zip, ele tem alguns erros ao descompactar.

Enfrentou o mesmo problema que

o problema persiste com 10.6.0-64 bits para uma primeira instalação limpa e completa. (nenhum nó / npm antes). A solução roman-spiridonovs continua a funcionar (para mim, a pasta npm agora pode ser encontrada em [...node]\node_modules\npm )

Por que isso ainda é um problema depois de quase um ano inteiro?

Acabei de encontrar esse problema no Windows 10.

Habilitar caminhos longos do Win32 corrigiu o problema. Veja a postagem de @apptaro (15/02/2018)

Depois de habilitar caminhos longos, reiniciei o Windows para aplicar a mudança.
Eu também tive que deletar manualmente o npm install quebrado.

Depois disso, eu poderia instalar o npm novamente usando nvm .

Acho que nvm no Windows deve emitir avisos se caminhos longos não estiverem habilitados. nvm install também não deve falhar silenciosamente.

Para mim:

  • nvm install 9.11.2 foi a última versão que descobri que funcionava através do nvm.
  • A substituição pelo arquivo zip do site funciona em qualquer versão.
  • A correção de caminhos longos não pareceu funcionar (embora eu não ache que tentei reiniciar a máquina depois de alterar a configuração do registro).

Este é o script PowerShell que usamos para novos iniciantes. Esperançosamente, após uma reinicialização, eles poderão atualizar para uma versão posterior.

# Get Chocolatey which is required for the rest of this script
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco feature enable -n=allowGlobalConfirmation
choco upgrade chocolatey

choco upgrade nvm
$env:NVM_HOME = [System.Environment]::ExpandEnvironmentVariables([System.Environment]::GetEnvironmentVariable("NVM_HOME","Machine"))
$env:NVM_SYMLINK = [System.Environment]::ExpandEnvironmentVariables([System.Environment]::GetEnvironmentVariable("NVM_SYMLINK","Machine"))
$env:Path = [System.Environment]::ExpandEnvironmentVariables([System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User"))

# Enable long paths in windows - may avoid npm issue https://github.com/coreybutler/nvm-windows/issues/302
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1 -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SYSTEM\ControlSet001\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1 -PropertyType DWORD -Force | Out-Null

nvm install 9.11.2
nvm use 9.11.2

Não tenho certeza do que dizer a você ... Posso instalar semver muito bem com a mesma configuração.

image

Acho que executar "npm install" resolveria o problema, assim como aconteceu comigo;)

Eu acredito que @momochanmo simplesmente se esqueceu de instalar o pacote semver em seu projeto. Ele tem a mesma mensagem de erro, mas esse é um problema totalmente diferente.

Para recapitular: Este tópico é sobre o fato de que o nvm instala uma versão corrompida do npm com uma versão ausente / corrompida do pacote semver, o que o torna inoperante.

A causa raiz mais provável sugerida até agora é que uma alteração de bug / comportamento introduzida no compilador Go há cerca de 3 anos causa um erro que está sendo silenciosamente engolido durante a instalação. Consulte https://github.com/coreybutler/nvm-windows/pull/370.

Então, se você conhece alguém que trabalha com coisas do Windows e está entusiasmado com Go, agora é um bom momento para dar um tapinha no ombro dele e oferecer esta excelente oportunidade de desenvolvimento de carreira 😅

Eu segui essas etapas e isso resolveu meu problema

  1. desinstalar Node.js
  2. Remova o conteúdo das seguintes pastas
    C: \ Usuários\ AppData \ Roamingnpm-cache
    C: \ Usuários\ AppData \ Roamingnpm
    C: \ Arquivos de programas \ nodejs
  3. Em seguida, instale novamente o Node _ https://nodejs.org/en/_

Seguir isso funcionou para mim. Você é um salva-vidas!!!!! obrigado <3

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

janpio picture janpio  ·  3Comentários

petrovicz picture petrovicz  ·  4Comentários

tomByrer picture tomByrer  ·  4Comentários

David263 picture David263  ·  3Comentários

ctsstc picture ctsstc  ·  3Comentários