Nvm-windows: O diretório global npm não é colocado na variável de ambiente

Criado em 11 set. 2018  ·  7Comentá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 (não compatível 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:

  • [x] 1.1.7
  • [] 1.1.6
  • [] 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 do antivírus.
  • [x] revisou o wiki para ter certeza de que meu problema ainda não foi resolvido.
  • [x] verificado 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 pergunta 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+?)
  • [] Um ambiente de shell padrão (terminal / powershell)
  • [] Um ambiente de shell não padrão (Cmder, Hyper, Cygwin, git)

Comportamento esperado

Depois de instalar o nvm-windows, o C: UsersadminAppDataRoamingnpm que contém todos os meus comandos globais deve ser adicionado à variável PATH, mas não é.

Comportamento Real

Isso não é - eu tenho que ir e adicionar manualmente este diretório à variável PATH

Etapas para reproduzir o problema:

Instale nvm-windows
execute npm install -g @ angular / cli
feche a janela do PowerShell e reabra
execute "ng newProject"
Vai dizer que "ng não é um comando reconhecido"
Vá para as variáveis ​​de ambiente e adicione "C: UsersadminAppDataRoamingnpm" ao PATH
Abra outra janela do PowerShell e execute "ng new newProject", agora funcionará

Comentários muito úteis

Pensei em repetir o acima no laptop fornecido pelo meu cliente

1) instalou a última versão do instalador NVM4W (1.17.4)

2) definir o URL do proxy

nvm proxy myclientproxy.com:xxxx

λ nvm install 8.12.0
Downloading node.js version 8.12.0 (64-bit)...
Complete
Downloading npm version 6.4.1... Download failed. Rolling Back.
Rollback failed. remove C:\Users\Daniel\AppData\Roaming\nvm\temp\npm-v6.4.1.zip: The process cannot access the file because it is being used by another process.
Could not download npm for node v8.12.0.
Please visit https://github.com/npm/cli/releases/tag/v6.4.1 to download npm.
It should be extracted to C:\Users\Daniel\AppData\Roaming\nvm\v8.12.0

Qualquer conselho sobre como resolver isso ou realizar uma instalação manual.

Todos 7 comentários

Na verdade, talvez seja eu entendendo mal como o nvm-windows deve funcionar.

Alguém pode esclarecer, o nvm-windows deve colocar meus pacotes npm globais (por exemplo, yarn, ng) em c: usersadminappdataroamingnvm?

Parece-me que no meu computador os pacotes globais são colocados em c: usersadminappdataroamingnpm - apenas as versões de nó são colocadas em c: usersadminappdataroamingnvm.

É por isso que os comandos globais não funcionam até eu adicionar c: usersadminappdataroamingnpm em SYSTEM PATH.

Alguém pode esclarecer, o nvm-windows deve colocar meus pacotes npm globais (por exemplo, yarn, ng) em c: usersadminappdataroamingnvm?

Não não é. Esse é o comportamento correto que você está experimentando. Além disso, o nvm adiciona c:\users\admin\appdata\roaming\npm ao PATH, caso contrário, você não poderia acessar o npm.

Alguém pode esclarecer, o nvm-windows deve colocar meus pacotes npm globais (por exemplo, yarn, ng) em c: usersadminappdataroamingnvm?

Não não é. Esse é o comportamento correto que você está experimentando. Além disso, o nvm adiciona c:\users\admin\appdata\roaming\npm ao PATH, caso contrário, você não poderia acessar o npm.

Ok, bem, ele não adicionou o diretório c:\users\admin\appdata\roaming\npm ao PATH para mim. Tive que adicionar manualmente depois.

Ele adicionou NVM_HOME que vinculado a c: usersadminappdataroamingnvm e
NVM_SYMLINK vinculado a c: program filesnodejs

pude acessar o npm porque c: program filesnodejs estava apontando para minha versão atual do node (por exemplo, C: UsersadminAppDataRoamingnvmv10.10.0)

Eu estava tendo esse problema, mas percebi que não foi executado com sucesso
nvm install 8.12.0

Baixando node.js versão 8.12.0 (64 bits) ...
Completo
Baixando npm versão 6.4.1 ... Falha no download. Revertendo.

Acho que isso explica o caminho não definido. De qualquer forma, instalei o nvm 1.17 e execute com sucesso o acima - ele adiciona esses env vars que são anexados ao caminho env var

NVM_HOME=C:\Users\danie\AppData\Roaming\nvm
NVM_SYMLINK=C:\Program Files\nodejs

npm é visto pelo caminho e eu paro de receber o erro mencionado neste tópico
λ versão npm{npm: '6.4.1',.....

Pensei em repetir o acima no laptop fornecido pelo meu cliente

1) instalou a última versão do instalador NVM4W (1.17.4)

2) definir o URL do proxy

nvm proxy myclientproxy.com:xxxx

λ nvm install 8.12.0
Downloading node.js version 8.12.0 (64-bit)...
Complete
Downloading npm version 6.4.1... Download failed. Rolling Back.
Rollback failed. remove C:\Users\Daniel\AppData\Roaming\nvm\temp\npm-v6.4.1.zip: The process cannot access the file because it is being used by another process.
Could not download npm for node v8.12.0.
Please visit https://github.com/npm/cli/releases/tag/v6.4.1 to download npm.
It should be extracted to C:\Users\Daniel\AppData\Roaming\nvm\v8.12.0

Qualquer conselho sobre como resolver isso ou realizar uma instalação manual.

Eu tinha o Nodist instalado antes do nvm-windows. Ele deixou um arquivo .npmrc no diretório inicial ( %userprofile% ). Tive que removê-lo e tentar o comando nvm use novamente para fazer tudo certo.

Eu não sei se meu caminho tinha algo incorreto ou faltando, mas re @ismailkattakath 's solução, eu também tinha .npmrc arquivos extras dispostos (em dois lugares), e excluindo-os e tentando um npm install buzzphraze -g comando c\blar\mcblar\ na raiz da minha unidade (no Windows).

Editar: no windows 7. Para o qual a instalação de extras falha (e eu tenho o chocolatey instalado por meio de conversão manual) porque ele é codificado para o PowerShell 1, mas o Chocolatinho agora requer TLS2 e PowerShell 5 para instalar. Eu me pergunto se as falhas de instalação de extras criaram .npmrc arquivos nos lugares errados.

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

Questões relacionadas

Miggleness picture Miggleness  ·  6Comentários

fredericrous picture fredericrous  ·  3Comentários

webspecialist picture webspecialist  ·  5Comentários

janpio picture janpio  ·  3Comentários

keylowgee picture keylowgee  ·  6Comentários