Windows 8
1.1.5
Instale a versão do nó 8.2.1
Falha com o erro The filename or extension is too long
λ nvm install 8.2.1
Downloading node.js version 8.2.1 (64-bit)...
Complete
Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...2017/07/21 09:02:31 mkdir C:\Users\suhas.karanth.RB\AppData\Roaming\nvm\temp\nvm-npm\npm-5.3.0\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: The filename or extension is too long.
Embora _ser_ um problema, duvido que haja uma maneira direta de corrigi-lo. No entanto, criar este problema para compartilhar como eu o contornei e como talvez pudesse ser evitado.
Instalei a última versão de pré-lançamento do nvm ( v1.1.6
), mas desta vez instalei em C:\nvm\
para conservar o comprimento do caminho. Conseguiu instalar o nó v8.2.1
com sucesso depois disso. Você acha que faz sentido instalar o nvm neste caminho por padrão?
Algo está errado nesta instalação ... Você teve duas versões do NVM instaladas ao mesmo tempo por acaso?
Pode ser tarde demais neste ponto, mas o que echo %NVM_SYMLINK%
produz?
Não. Eu não tinha 2 versões do NVM instaladas no momento em que ocorreu o erro.
Pode ser tarde demais neste ponto, mas o que
echo %NVM_SYMLINK%
produz?
Na verdade, não é tarde demais. Eu tinha um terminal aberto que ainda tinha o ambiente antigo.
λ where nvm
C:\Users\suhas.karanth.RB\AppData\Roaming\nvm\nvm.exe
λ echo %NVM_SYMLINK%
C:\Program Files\nodejs
Além disso, eu tinha instalado e estava usando várias versões do nó através do NVM antes:
λ nvm list
* 8.1.2 (Currently using 64-bit executable)
8.1.1
8.1.0
8.0.0
6.10.3
6.10.0
5.12.0
4.8.0
4.2.6
Estou tendo o mesmo problema.
Windows 10
Concha de comandante
NVM 1.1.5
Isso está ocorrendo com o nó 8.2.0
e 8.2.1
8.1.4
e 8.1.3
estão funcionando bem.
$ nvm install 8.2.0
Downloading node.js version 8.2.0 (64-bit)...
Complete
Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...2017/07/22 00:15:41 mkdir C:\Users\Christopher\AppData\Roaming\nvm\temp\nvm-npm\npm-5.3.0\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: The filename or extension is too long.
Eu me pergunto se devemos começar com o npm upstream
@clowenhg Se você instalar o nvm diretamente em C:\nvm
, o problema será resolvido, mas as instalações de nós existentes não serão mais reconhecidas. Mudei as pastas de vários nós para C:\nvm
e pude vê-las listadas, mas nunca tive a chance de testar nenhuma delas. Graças ao windows update e boot loop.
Isso provavelmente funcionaria, mas parece apenas uma solução temporária até que a próxima coisa queira ir mais fundo no diretório. Então, sim, levantar isso como um problema para a NPM provavelmente seria uma boa decisão.
Vendo que 8 ainda não está em sua versão LTS final, estou apenas revertendo para 8.1.4 por enquanto.
Parece haver uma série de problemas com as novas versões do npm, especificamente aquelas que incluem suporte a npx. Eu adicionei suporte para npx no branch master e irei lançá-lo quando 1.1.6 se tornar oficial (atualmente em teste). Contudo; mesmo nesse ramo, o npx ainda falha (ele também falha através do instalador do Node independente do Windows sem NVM4W).
Acredito que seja um problema de npm, não um problema de NVM4W. Estou encerrando o problema e marcando-o como um problema anterior.
@coreybutler Um pequeno esclarecimento, se você não se importa. Por que você teve que fazer alterações para o suporte npx? Mesmo com o nó v8.1
, o npx estava disponível e usável, embora com erros no Windows. Mas a nvm não deve ter que fazer nada para isso.
O nó 8.1 _não_ foi enviado com suporte a npx. Se você o tiver na versão 8.1, deve ter executado npm install -g npm
algum lugar ao longo da linha para atualizar o npm. O comando npx foi adicionado ao npm v5.3.0 e a primeira versão do Node a ser enviada com o npm 5.3.0 foi a 8.2.1. Para obter detalhes específicos, consulte # 288.
Sim .. Você provavelmente está certo. Lembro-me de atualizar o npm.
Tive o mesmo problema, a solução que tenho é:
git clone https://github.com/npm/npm.git
então você deve ser bom
Obrigado @michaelkdh Funciona para mim. 👍
A coisa um pouco diferente foi que quando eu clonou o 'npm.git', ele criou a pasta 'npm'. E eu tive que mover a pasta 'npm' para 'node_modules'.
@ gblue1223 mesma coisa, só precisa do npm no lugar. Felicidades,
@coreybutler De acordo com o problema que você vinculou, você pode substituir os caminhos de instalação.
Se você instalar o mais recente (1.1.6) e em vez de C:/Users/<username>/AppData/Roaming/nvm
você selecionar C:/nvm
como a pasta de instalação, ele deve funcionar. Não tive problemas ao instalar 8.4.0
:)
Para mim, usar nvm root
para alterar o caminho de nvm
não funcionou, recebi mensagens de erro estranhas. Ele não copiou nvm <commands>
e mesmo node
parou de funcionar.
A clonagem manual de npm
como @michaelkdh sugeriu também não funcionou e parece hackear em comparação com uma instalação limpa
@ peterbakonyi05 Ainda é um
@Sieabah Concordo, todo o problema é estranho. No entanto, acho que ainda é melhor do que as outras 2 soluções propostas (na verdade, nenhuma delas funcionou para mim)
Para aqueles que ainda estão enfrentando isso, alguém poderia fornecer etapas para recriar esse erro? Ou talvez um screencast? Ainda não vi isso em ação.
Além disso, notei que muitas pessoas estão copiando / colando de seus terminais ... e a sintaxe como /c/whatever
, lambdas, etc. continua aparecendo ... tudo indica que as pessoas estão usando coisas como Cygwin , git shells, cmder, etc. Observe que esses shells _não sempre aderem aos padrões da plataforma Windows_ e _do_ afetam como os caminhos são lidos. Existem vários outros problemas citando isso, então tente tudo em um terminal padrão antes de postar para ter certeza de que é um problema de NVM4W e não um problema de shell de terminal.
@coreybutler Aqui está, com cmd.exe
C: \ Users \ Christopher> nvm install 8.4.0
Baixando node.js versão 8.4.0 (64 bits) ...
Completo
Criando C: \ Users \ Christopher \ AppDataRoamingnvm \ temp
Baixando npm versão 5.3.0 ... Completo
Instalando npm v5.3.0 ... 2017/09/05 16:50:14 mkdir C: \ Users \ Christopher \ AppDataRoamingnvm \ tempnvm-npmnpm-5.3.0node_modules \ libnpxnode_modules \ yargsnode_modules \ read-pkg-upnode_modules \ read-pkgnode_modules \ read-pkgnode_modules \ load-json-filenode_modules \ parse-jsonnode_modules \ error-exnode_modules \ is-arrayish: O nome do arquivo ou extensão é muito longo.
C: \ Users \ Christopher> onde nvm
C: \ Users \ Christopher \ AppDataRoamingnvmnvm.exe
C: \ Users \ Christopher> nvm install 8.4.0
Baixando node.js versão 8.4.0 (64 bits) ...
Completo
Criando C: \ Users \ Christopher \ AppDataRoamingnvm \ temp
Baixando npm versão 5.3.0 ... Completo
Instalando npm v5.3.0 ... 2017/09/05 16:50:14 mkdir C: \ Users \ Christopher \ AppDataRoamingnvm \ tempnvm-npmnpm-5.3.0node_modules \ libnpxnode_modules \ yargsnode_modules \ read-pkg-upnode_modules \ read-pkgnode_modules \ read-pkgnode_modules \ load-json-filenode_modules \ parse-jsonnode_modules \ error-exnode_modules \ is-arrayish: O nome do arquivo ou extensão é muito longo.
C: \ Users \ Christopher> onde nó
C: \ Program Filesnodejsnode.exe
C: \ Users \ Christopher> onde npm
C: \ Program Filesnodejsnpm
C: \ Program Filesnodejsnpm.cmd
Também estou usando a versão 1.1.5 do nvm, se isso fizer diferença (talvez você esteja no 1.1.6?)
Posso confirmar que a atualização para 1.1.6 corrige esse problema. Faz sentido, pois parece que parte do gerenciamento de caminho de arquivo agora usa bibliotecas Go nativas.
Isso também significaria que o bug do caminho de arquivo estava dentro do nvm e não no próprio npm. Qualquer bug arquivado no npm pode querer ser examinado novamente.
Obrigado @ computerquip-streamlabs. Eu peguei esse problema e resolvi atualizando o nvm com,
scoop install [email protected]
E então eu poderia instalar o nó 8.7.0 com nvm.
A instalação do nvm 1.1.6 corrige o bug com "instalação do npm: o nome do arquivo ou extensão é muito longo"
De: C: \ Usuários \ [nome de usuário] \ AppDataRoamingnvm
root: C:\nvm
path: C:\Program Files\nodejs
arch: 64
proxy: none
elevate.cmd
e elevate.vbs
para: C: nvmEntão funcionou para mim!
Reabrindo já que vários usuários ainda estão correndo para isso.
FWIW, estou executando o Windows 10, habilitei caminhos de arquivo longos, mas ainda não consegui instalar versões de nó acima de 6.x ... devido ao problema com caminho de arquivo longo em npm v 5.6, atualizando para nvm 1.1.6 corrigiu o problema para mim.
Comentários muito úteis
Se você instalar o mais recente (1.1.6) e em vez de
C:/Users/<username>/AppData/Roaming/nvm
você selecionarC:/nvm
como a pasta de instalação, ele deve funcionar. Não tive problemas ao instalar8.4.0
:)Para mim, usar
nvm root
para alterar o caminho denvm
não funcionou, recebi mensagens de erro estranhas. Ele não copiounvm <commands>
e mesmonode
parou de funcionar.A clonagem manual de
npm
como @michaelkdh sugeriu também não funcionou e parece hackear em comparação com uma instalação limpa