Se esta é uma pergunta sobre como usar o NVM4W, use stackoverflow .
Se este for um problema relacionado ao antivírus, certifique-se de pesquisar os problemas existentes primeiro.
Tentei mudar de v8.9.1 para 6.12.0 (versão de nó)
mas não mudou para 6.12.0 ou outras versões.
(eu instalei o 8.9.1 finalmente)
eu abri cmd via administrador.
C: Windowssystem32> nvm ls
C: Windowssystem32> node -v
v8.9.1
C: Windowssystem32> nvm use 6.12.0
Agora usando o nó v6.12.0 (64 bits)
C: Windowssystem32> node -v
v8.9.1
C: Windowssystem32> nvm ls
o mesmo
+1
Mesmo com nvm 1.1.5:
C:\windows\system32>nvm version
1.1.5
C:\windows\system32>nvm ls
8.9.2
* 4.7.2 (Currently using 64-bit executable)
C:\windows\system32>nvm use 8.9.2
Now using node v8.9.2 (64-bit)
C:\windows\system32>node -v
v4.7.2
C:\windows\system32>
@biologeek mesma coisa: /
você achou alguma solução?
Isso ocorre com mais freqüência devido ao uso de uma conta de usuário sem privilégios. Sua conta deve ter permissões de nível de administrador, porque o Windows exige isso para links simbólicos. nvm use
cria um link simbólico para a instalação do Node apropriada. Se o seu link simbólico existe dentro de C:\Program Files
, você precisará de permissões elevadas (o nvm4w tentará fazer isso para você automaticamente).
Eu sou o administrador do meu pc. Embora eu pudesse superar esse problema, renomeando manualmente as pastas para que o link simbólico nvm aponte para a versão que eu preciso.
Rápido e sujo, mas sem necessidade de acesso de administrador!
@biologeek - você ainda precisa de acesso de administrador para renomear diretórios dentro de C:\Program Files
porque é um diretório protegido no Windows (o mesmo é verdadeiro para C:\windows\system32
). Pessoalmente, mantenho meu link simbólico NVM4W em meu diretório de usuário, então isso não é um problema.
1 sobre este assunto: Não consigo alterar a versão.
Gambiarra:
"C: Program Filesnodejs" renomeado para "C: Program Filesnodejsx",
Então, de um cmd elevado chamado "nvm use 8.9.1" (qualquer versão que você tiver deve funcionar ..) e começou a funcionar.
O problema parece ser se o diretório nodejs existir, o nvm não pode alterá-lo para um link simbólico e 'falha silenciosamente' seria bom com uma falha e uma mensagem de erro informando o problema.
Pode confirmar o que @ituasdu disse. Obrigado!
@ituasdu resolveu meu problema, obrigado
Oi, mesmo problema aqui.
O NVM cria um link simbólico para a versão do nó instalada.
O problema é que o Windows 7 requer níveis de direitos de administrador para criar um link simbólico, e não é mais o caso no Windows 10.
Uma solução alternativa é usar junções (links 'físicos') no Windows 7 com o parâmetro '/ J'. As junções não exigem níveis de direitos de administrador e contas de usuário com poucos privilégios, pois as minhas podem usá-las. Exemplo:
nvm install 8.11.2
mklink /D /J node C:\PATH_TO_NVM\nvm\v8.11.2
Pergunta: Não seria uma boa ideia usar junções em vez de links simbólicos? Ou, pelo menos, especifique uma opção para nvm, por exemplo, '--junctions'?
Estou pensando em criar uma solicitação pull para isso, pois está bloqueando minha empresa. Isso seria útil?
@ nan0 fazer uma junção no windows 7 não está funcionando ... ainda não muda de versão.
C:\Program Files\nodejs
contém v6.9.4 (instalado antes de NVM4W instalado).
C:\Users\[user]\AppData\Roaming\nvm
contém v6.9.4\
e v8.11.3\
Eu executei o comando que você forneceu em sua postagem:
Problema 1:
mklink /D /J node C:\Users\[user]\AppData\Roaming\nvm\v8.11.3
quando tento fazer isso para a v6.9.4, ele diz "Não é possível criar um arquivo quando esse arquivo já existe."
Edição 2:
Além disso, usar nvm use v8.11.3
e nvm list
não indica que ele realmente está usando qualquer uma das versões de nó instaladas do nvm.
Existe mais alguma coisa que pode ser feita?
Como posso ver as junções que são criadas? Onde eles realmente existem?
Estou a usar:
Windows 7. sem direitos de administrador permitidos para o meu usuário.
não importa se ele funciona. Percebi que estava colocando junction
na pasta errada.
renomeando C: Program Filesnodejs para C: Program Files nodejsx
e fazer a junção como "nodejs" e apontar para C:\Users\[user]\AppData\Roaming\nvm\v8.11.3
funcionou!
Então, para resumir, a solução é esta:
sem nenhum nó independente instalado.
Na pasta C:\Program Files\
use cmd
para executar mklink /D /J nodejs C:\Users\[user]\AppData\Roaming\nvm\v8.11.3
Aos interessados em contribuir, obrigado!
Contudo; Quero salientar que as junções foram evitadas explicitamente porque não funcionam em discos rígidos diferentes. Este foi um ponto particularmente dolorido em redes corporativas com unidades compartilhadas / unidades mapeadas.
@ituasdu Isso resolveu meu problema,
Obrigado pela solução.
Meu computador é o Windows 7 e tenho privilégios de administrador. Na mesma situação, NVM não pode mudar a versão. Minha abordagem é configurar NVM_SYMLINK D: Projeto NVM v8.11.4 na variável de ambiente. A troca de versões de nó requer apenas a mudança do número da versão correspondente ao caminho NVM da variável de ambiente, como: NVM_SYMLINK D: Projeto NVM v6.9.0. Desta forma, embora o problema fosse resolvido, cada vez que eu mudava a versão, ficava incômodo e não encontrava solução melhor no momento.
A solução de "Sagan" de estouro de pilha funciona para mim:
https://stackoverflow.com/questions/28313372/nvm-for-windows-not-working
Para mim,
nvm list
Em seguida, removo a pasta v8.9.4 do nvm.
Depois disso:
nvm list
Então, eu movo v8.9.4 de volta.
Isso está acontecendo comigo no Windows 10 10.0.17134.165
Tentei a solução mencionada por @ituasdu e funcionou. obrigada!!!
Se você descobriu isso depois de tentar cmd como:
nvm use 6.10.0
e a versão do nodejs não foi alterada, você pode iniciar o cmd.exe ou o PowerShell pelo administrador.
Tive o mesmo problema ao alternar entre o nó 6.6.0 e 7.9.0 (Windows 10) mas a solução do ituasdu não estava funcionando. A reinstalação do nvm também não funcionou.
Eu executei o nvm install mais recente (instalado 11.3.0) e isso de alguma forma consertou para mim.
Gambiarra:
"C: Program Filesnodejs" renomeado para "C: Program Filesnodejsx",
Então, de um cmd elevado chamado "nvm use 8.9.1" (qualquer versão que você tiver deve funcionar ..) e começou a funcionar.
O problema parece ser se o diretório nodejs existir, o nvm não pode alterá-lo para um link simbólico e 'falha silenciosamente' seria bom com uma falha e uma mensagem de erro informando o problema.
Isso funcionou para mim.
PS > nvm use 11.4.0
Now using node v11.4.0 (64-bit)
PS > node -v
v10.11.0
PS > nvm use 11.4.0
Now using node v11.4.0 (64-bit)
PS > node -v
v11.4.0
@ituasdu funcionou para mim também .. obrigado .. :)
Obrigado @ituasdu , funcionou como um encanto. Acredito que isso aconteça quando as pessoas instalam o NodeJS anteriormente diretamente sem o nvm e depois tentam usar o nó através do nvm.
Isso também funciona para mim, obrigado.
Não sei se isso poderia lançar alguma luz sobre o problema, mas no meu caso, acho que isso aconteceu depois de instalar uma nova versão do node sem nvm (manualmente). Parece que essa ação deixa o nvm louco.
@coreybutler alguma
Outra dor é o que estou sofrendo atualmente (não por causa do nvmw) onde, embora eu realmente tenha privilégios de administrador em alguns casos, toda vez que eu quiser alternar entre as versões do nó, tenho que abrir uma outra janela cmd inteira, execute cmd como admin e finalmente execute nvm use 10.15.1
(por exemplo). em seguida, navegue de volta para minha janela dev, cmd. argh. novamente, dor devido ao ambiente de trabalho, não por causa de nvmw. (nvmw é incrível aliás).
apenas um pensamento. ;-)
Executar nvm use <node.js version you want to use>
(por exemplo, nvm use 10.15.3
) no Powershell ISE como administrador resolveu o problema no meu Windows 10.
Tenho que executar nvm use any.version
várias vezes no Powershell como administrador para fazê-lo funcionar. Ele muda de versão aleatoriamente na primeira, segunda ou terceira tentativa (nvm versão 1.1.7).
Tentei consertar instalando o Link Shell Extension e executando as seguintes etapas:
C:\Program Files\nodejs
C:\Program Files
nodejs - SymbolicLink
para nodejsx
Mas, infelizmente, o problema ainda está ocorrendo.
Posso confirmar que a solução @ituasdu funcionou para mim também.
@ituasdu funciona para mim, obrigado.
@ monico-moreno - da próxima vez, envie um ping por e-mail quando eu não responder por meses a fio :) Para responder à sua pergunta, você pode instalar em qualquer pasta que quiser usando o instalador. Contudo; todos os links simbólicos no Windows requerem privilégios de administrador, exceto para alguns modos de desenvolvedor em edições mais recentes do Windows 10. O ponto principal é que os privilégios de administrador entram em ação em algum ponto.
Além disso, talvez você possa testar a versão beta do sistema de menus quando eu finalizá-lo (alternar as versões na barra de tarefas do Windows). Isso seria um fluxo de trabalho melhor?
https://github.com/coreybutler/nvm-windows#uninstall -existing-node
Eu apenas tive um problema semelhante, mas um motivo diferente.
D:\> node -v
v12.14.0
D:\> nvm use 8.9.4
Now using node v8.9.4 (64-bit)
D:\> node -v
v12.14.0
// problem
D:\> where node
D:\soft\nodejs\node.exe // <- old nvm used this one
C:\Program Files\nodejs\node.exe // <- new nvm was changing this one
O IIRC I tinha uma versão nvm anterior instalada em D: soft e estava mudando o link D: softnodejs. Em algum ponto, o antigo nvm parou de funcionar, porque o repositório npm mudou de local (se funcionar - não toque, por favor). Tive que instalar um novo nvm e acho que o novo nvm se recusou a alterar o link antigo, em vez disso, ele estava atualizando o link C: Program Filesnodejs. Então, eu removi D: softnodejs e foi corrigido.
Obrigado a @delepster que sugeriu desinstalar o nó antigo, que me ajudou a identificar o problema
nós instalamos em três computadores hoje, dois deles com sistema operacional windows 10 instalado e um com servidor windows. Ambas as máquinas com sistema operacional Windows 10 perderam a busca por recursos de inicialização, mas não aquela com sistema operacional Windows Server. então, você não pode digitar o nome do programa que deseja e ver mais.
Alguém mais com o mesmo problema?
@putko este é um problema do Windows que apareceu hoje, confirmado e corrigido pela MS. veja este tweet https://twitter.com/tomwarren/status/1225110095010418689
Gambiarra:
"C: Program Filesnodejs" renomeado para "C: Program Filesnodejsx",
Então, de um cmd elevado chamado "nvm use 8.9.1" (qualquer versão que você tiver deve funcionar ..) e começou a funcionar.
O problema parece ser se o diretório nodejs existir, o nvm não pode alterá-lo para um link simbólico e 'falha silenciosamente' seria bom com uma falha e uma mensagem de erro informando o problema.Isso funcionou para mim.
PS > nvm use 11.4.0 Now using node v11.4.0 (64-bit) PS > node -v v10.11.0 PS > nvm use 11.4.0 Now using node v11.4.0 (64-bit) PS > node -v v11.4.0
Isso funcionou para mim também.
Tive um problema semelhante com 1.1.7
, finalmente descobri que o arquivo settings.txt
é ignorado. nvm use
não faria absolutamente nada, até que eu definisse manualmente NVM_SYMLINK
. Além disso, sem o SYMLINK definido, o nvm tentará remover .
, o que é interessante, para dizer o mínimo.
O parâmetro path
em settings.txt
, que contém o que deve ser usado por padrão como SymLink, nunca é lido ou usado para inicializar:
https://github.com/coreybutler/nvm-windows/blob/88353cfcea140e02e2b13584fd89454adc9f52b3/src/nvm.go#L727 -L751
A versão mais recente do Windows 10 Pro, em que fiz uma nova instalação, encontrei o mesmo problema.
Minhas etapas habituais para configurar minha máquina são:
@ituasdu está correto em sua afirmação, quando
Sei que há uma linha dizendo que devemos desinstalar o nó existente que perdi da primeira vez no README.md, mas tendo usado o nvm-windows antes de não verificar novamente, acabei de instalar via chocolatey e esqueci disso . (é possível apenas fazer a desinstalação do npm como parte da instalação do chocolatey ou apenas detectar se há um e solicitar que o usuário o desinstale antes de permitir que ele instale o nvm?)
(é possível apenas fazer a desinstalação do npm como parte da instalação do chocolatey ou apenas detectar se há um e solicitar que o usuário o desinstale antes de permitir que ele instale o nvm?)
Eu acho que é possível: esta solicitação deve ser feita ao mantenedor do pacote Chocolatey nvm .
Acontece quando você tem o Node instalado separadamente em sua máquina (do site ou gerenciador de pacotes). Desinstalá-los e instalá-los por meio do nvm deve resolver o problema.
Estou tendo o mesmo problema e usar o PS no modo de administrador não resolve o problema. (Windows 10.0.18363)
Comentários muito úteis
Gambiarra:
"C: Program Filesnodejs" renomeado para "C: Program Filesnodejsx",
Então, de um cmd elevado chamado "nvm use 8.9.1" (qualquer versão que você tiver deve funcionar ..) e começou a funcionar.
O problema parece ser se o diretório nodejs existir, o nvm não pode alterá-lo para um link simbólico e 'falha silenciosamente' seria bom com uma falha e uma mensagem de erro informando o problema.