Instalação do Node Version Manager - comando nvm não encontrado


303

Estou tentando instalar o NVM de acordo com estas instruções

Eu digitei este comando no terminal:

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh

Após executar a instalação, reinicio o terminal e tento instalar o Node.js com este comando:

$ nvm install 0.8

mas eu recebo a resposta:

-bash: nvm: command not found

Não tenho certeza do que estou fazendo de errado aqui.

Informação adicional--

Estive procurando soluções de outros posts e fóruns. Encontrei outra solução usando

$ git clone git://github.com/creationix/nvm.git ~/.nvm

mas isso expira toda vez que eu tento isso. Qualquer ajuda seria apreciada. Obrigado.

Respostas:


369

Verifique se o seu .bash_profile, .zshrcou.profile arquivo. Você provavelmente teve um problema durante a instalação.

Você deve ter o seguinte no final de um desses arquivos.

[[ -s $HOME/.nvm/nvm.sh ]] && . $HOME/.nvm/nvm.sh  # This loads NVM

O . $HOME/.nvm/nvm.shé o mesmo quesource $HOME/.nvm/nvm.sh

Consulte: Fornecendo um arquivo

Você também pode verificar se possui uma .nvmpasta.

ls -a | grep .nvm

Se você estiver com falta dessa pasta, a instalação falhou ao executar o comando git. Isso pode ser devido a estar atrás de um proxy. Tente executar o seguinte.

git clone http://github.com/creationix/nvm.git .nvm

2
O .nvmdeve ser um diretório. É instalado através do seguinte comando git clone git://github.com/creationix/nvm.git $NVM_TARGET. Você disse anteriormente que tentou executar esse comando sozinho e ele falhou? Provavelmente você está atrás de um proxy e provavelmente não está configurado. Tente executar o seguinte. git clone http://github.com/creationix/nvm.git .nvm
travis 3/13

21
também tem a linha, mas 'source ~ / .nvm / nvm.sh' funciona
K - A toxicidade no SO está crescendo.

2
Se a pasta .nvm estiver vazia, é provável que a obtenção do repo tenha falhado devido à licença do contrato xcode não ter sido aceita. A execução sudo xcodebuild -licensee a aceitação da licença (pressionando spacepara chegar ao final da licença e concordar com seus termos) faz o truque.
Pierre Criulanscy

4
Você também pode precisar source .bashrcou source .profiledependendo
Henry Tseng

1
Quase sempre esses arquivos existem no diretório home. source $HOME/.bashrc, Etc
travis

634

Eu acho que você perdeu esta etapa:

source ~/.nvm/nvm.sh

Você pode executar este comando no bash OU pode colocá-lo no arquivo /.bashrc ou ~ / .profile ou ~ / .zshrc para carregá-lo automaticamente

https://github.com/creationix/nvm


5
Vamos melhorar a documentação. Eu criei um problema no repositório
Jonny Burger

3
Eu executei isso manualmente várias vezes até finalmente colocá-lo no meu .bashrc!
Brady Dowling

2
isso funcionou para mim, mas para automatizá-lo, tive que criar um perfil primeiro. "toque em ~ / .profile", "abra ~ / .profile", cole acima, salve + feche. trabalha em novas janelas agora
Sonic Soul

6
Adicioná-lo à ~/.bash_profileera o que funcionou para mim
spencer.sm

6
Isso funcionou para mim. Eu adicionei source ~/.nvm/nvm.shà minha ~/.zshrce agora nvmtrabalha o tempo todo
Eddy Vinck

88

Isso funciona para mim:

  1. Antes de instalar nvm, execute isto no terminal:touch ~/.bash_profile

  2. Depois, execute isso no terminal:
    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

  3. Importante ... - NÃO esqueça de reiniciar o terminal OU use o comando source ~/.nvm/nvm.sh(isso atualizará os comandos disponíveis no caminho do sistema).

  4. No terminal, use o comando nvm --versione você deverá ver a versão


8
3) Não se esqueça de reiniciar o componente principal do terminal! Por isso o meu não estava funcionando. Obrigado
Sebastian

1
Como um "Reiniciar [o] componente principal do terminal"?
Edward

46

source ~/.nvm/nvm.sh Adicione esta linha a ~ / .bashrc, ~ / .profile ou ~ / .zshrc


4
essa é a solução "permanente" que dura em várias conchas ou sessões de shell.
ahnbizcad

Esta é a única resposta que funcionará. Mesmo após várias aberturas do terminal. Por último, não se esqueça de reiniciar seu terminal uma vez que você fazer isso :)
coderpc

40

Resposta rápida

Descobrir o seguinte:

  1. Qual shell o seu terminal está usando, digite: echo $0para descobrir (normalmente funciona)
  2. Qual arquivo de inicialização esse shell carrega ao inicializar (NÃO é o arquivo inicial do shell de login , o arquivo inicial normal do shell , há uma diferença!)
  3. Adicione source ~/.nvm/nvm.sha esse arquivo (assumindo que o arquivo existe nesse local, é o local de instalação padrão)
  4. Iniciar uma nova sessão de terminal
  5. Lucro?

Exemplo

Como você pode ver, afirma zshe não bash. insira a descrição da imagem aqui

Para corrigir isso, eu precisava adicionar source ~/.nvm/nvm.shao ~/.zshrcarquivo, pois ao iniciar um novo terminal, o Deepin Terminal zsh lê ~/.zshrce não o bashs ~/.bashrc.

Por que isso acontece

Isso acontece porque, ao instalar o NVM, ele adiciona código ~/.bashrc, como o meu terminal Deepin Terminal usa zshe não bashnunca lê ~/.bashrce, portanto, nunca carrega o NVM.

Em outras palavras: isso é culpa dos NVMs.

Mais informações zshpodem ser lidas em uma das respostas aqui .


você pode simplesmente colocar o zsh no final do comando curl. por exemplo: curl raw.github.com/creationix/nvm/master/install.sh | zsh
Prabhakar

22

No macOS, tive que obtê-lo usando o source ~/.nvm/nvm.shcomando para corrigir esse problema.

Depois disso, adicione estas linhas

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

para ~/.bash_profileque o nvm seja originado automaticamente no login.


11

Todas as respostas a estas perguntas são úteis. Especialmente a resposta dada por Travis me ajudou. Para usuários do Mac OS X, gostaria de fornecer algumas etapas que os ajudarão a trabalhar com a nova instalação do Node Version Manager, também conhecido como nvm.

Instalando e usando o nvm no Mac OS X

Aqui estão as etapas para a instalação nova do nvm e para usá-lo sem nenhum problema:

  • Instale o homebrew a partir daqui .
  • Usando o homebrew install nvm

    brew update brew install nvm

  • Crie um .nvmdiretório no ~/.nvmlocal.

    mkdir ~/.nvm

  • Agora, se você não possui uma .bash_profileconfiguração de arquivo para o terminal OS X, crie um .bash_profileno nível raiz:

    nano ~/.bash_profile

  • Cole o código abaixo no .bash_profilee pressione CTRL + Oe pressione Enter para salvar o .bash_profilearquivo. Pressione CTRL + Xpara sair do editor:

    export NVM_DIR=~/.nvm source $(brew --prefix nvm)/nvm.sh

  • Agora, CMD + Qexecute o comando bastante ( ) no terminal ou execute abaixo para carregar as .bash_profileconfigurações:

    source ~/.bash_profile

  • Agora execute o nvm lscomando para obter a lista de todas as versões do nodejs instaladas.


Obrigado, acho que o que senti falta de mim foi a criação do .nvmdiretório.
icarovirtual

11

Primeiro adicione as seguintes linhas no arquivo ~ / .bashrc

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

abra o terminal e origine o script nvm.sh

source ~/.nvm/nvm.sh

8

O OSX 10.15.0 Catalina (lançado em novembro de 2019) alterou o shell padrão para zsh.

O shell padrão foi anteriormente bash.

O comando de instalação fornecido na página nvm GitHub precisa ser ajustado para incluir "zsh" no final.

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | zsh

Nota: pode ser necessário garantir que o .rcarquivo para zsh esteja presente previamente:

touch ~/.zsrhrc

5

Não está diretamente conectado à pergunta, mas há um problema semelhante que pode ocorrer, dê uma olhada nesta pergunta: Não é possível executar o nvm a partir do novo bash


Aqui está a minha resposta nesse post, apenas para referência:

Se você estiver executando a partir de uma nova instância do bash e possuir o código de inicialização em ~ / .bashrc, ~ / .bash_profile, etc, será necessário verificar esse arquivo de inicialização para obter condicionais.

No Ubuntu 14, existe um:

case $- in
    *i*) ;;
      *) return;;
esac

Na linha 6, isso interromperá sua execução se o bash não estiver sendo executado com o sinalizador "-i" (interativo). Então você precisaria executar:

bash -i

Além disso, no final do arquivo, há um

[ -z "$PS1" ] && return

Isso interromperá sua execução se não estiver sendo executado com o conjunto $ PS1 (como em uma sessão ssh remota).

Se você não deseja adicionar envios ou sinalizadores, será necessário remover esses condicionais do seu arquivo de inicialização.

Espero que seja útil.


5

Se você estiver usando o OS X, poderá ser necessário criar o arquivo .bash_profile antes de executar o comando de instalação. Isso fez por mim.

Crie o arquivo de perfil

touch ~/.bash_profile

Execute novamente a instalação e você verá uma linha relevante na saída desta vez.

=> Anexando a string de origem a /Users/{username}/.bash_profile

Recarregue seu perfil (ou feche / abra novamente a janela do Terminal).

.  ~/.bash_profile

5

Para Mac OS:

  1. Terminal Aberto
  2. Corre touch ~/.bash_profile
  3. Corre vi ~/.bash_profile
  4. Tipo source ~/.nvm/nvm.sh
  5. Pressione Shift + Esce digite wqe pressioneenter
  6. Feito.

No ubuntu 18.04, eu só precisava: 4. Digite source ~ / .nvm / nvm.sh e muito obrigado!
Darnell Lynch

4

Adicione as seguintes linhas aos arquivos ~/.bashrce ~/.bash_profile:

# NVM changes
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

e reinicie o terminal ou faça source ~/.bashrcou source ~/.bash_profile. Se você precisar concluir o comando para o nvm, adicione também a linha:

[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

Junto com as linhas acima para ~/.bashrce ~/.bash_profile.


4

Para MacOS;

Executar no terminal>

open ~/.bash_profile

Cole tudo isso =

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

2

O script de instalação da nvm, por padrão, adiciona o código de inicialização ao seu $HOME/.profile , o qual é carregado apenas por um shell de logon (em um ambiente de desktop, você nunca verá um shell de logon).

O comando nvm no seu shell de login não é propagado para subconchas (como janelas do console e terminais IDE após o login). Esse trecho no seu $HOME/.bashrcsó carregará nvm se for um shell interativo e ainda não tiver sido carregado

# if nvm dir is not set and the standard nvm directory exists
if [ -z "$NVM_DIR" -a -d "$HOME/.nvm" ] ; then
# set nvm dir
  export NVM_DIR="$HOME/.nvm"
fi

# if nvm dir is set and this shell is interactive
if [ -d "$NVM_DIR" -a -n "$PS1" ] ; then
  # if nvm command is not defined
  if ! type -t nvm >/dev/null ; then
    # set it
    source "$NVM_DIR/nvm.sh"
  fi
fi

Colocar isso em seu $HOME/.bashrcarquivo corrigirá o problema de nvm ausente em shells bash interativos, mesmo a partir de uma GUI, e mesmo se o nvm estiver instalado em um local não padrão.


2

Eu havia corrigido esse problema.

  1. toque em ~ / .bash_profile
  2. abra ~ / .bash_profile
  3. colarexport NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

2

Para o problema foi corrigido quando mudei

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

até o final de .zshrc


1

No Debian, além de adicionar as linhas abaixo ao meu .bash_profile, como disse uma das respostas acima. Também tive que abrir minhas preferências de terminal (Editar -> Preferências de perfil -> Comando) e ativar 'Executar comando como um shell de login' para fazê-lo funcionar.

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

Editar: para quem está no Mac, saiba que o macOS não lê .bashrc no Terminal start; portanto, é preferível usar .bash_profile. Veja aqui.



1

No Windows 8.1 x64mesmo aconteceu comigo, e recebeu a seguinte mensagem.

nvm install 8.3.0 bash: nvm: comando não encontrado

Portanto, siga ou verifique abaixo as seguintes etapas:

primeira instalação coreybutler/nvm-windowsde github.com. Atualmente, a versão mais recente 1.1.5 nvm-setup.zip, disponível posteriormente, extraiu a instalação nvm-setup.exee instalou os seguintes locais:

NVM_HOME    : C:\Users\Administrator\nvm
NVM_SYMLINK : C:\Program Files\nodejs

Enquanto isso, a instalação gerenciará a variável de ambiente Pathconforme descrito acima para você.

Agora execute Git Bashcomo administrador e, em seguida.

$ nvm install 8.3.0 all

Downloading node.js version 8.3.0 (64-bit)...
Complete
Creating C:\Users\Administrator\nvm\temp

Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...

Installation complete. If you want to use this version, type

nvm use 8.3.0

$ nvm use 8.3.0
Now using node v8.3.0 (64-bit)

aqui, execute seu comando sem usar o prefixo $, ele é mostrado aqui apenas para determiná-lo como uma linha de comando e agora vamos verificar a versão do nvm.

$ nvm --version
Running version 1.1.5.

Usage:
-----------------------

se você tiver problemas nvmpara usar a instalação node, poderá ver esta lista de nodejsreleases disponíveis aqui https://nodejs.org/download/release/e escolher o instalador correto conforme sua versão do requisito igual ou superior a v6.3.0diretamente.


0

Para mim, isso funcionou. Primeiro verifique se o arquivo .bashrctem a seguinte linha

[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

Agora bashrcé carregado para cada sessão do terminal. Assim, reinicie o terminal para que ele seja carregado novamente e você deve estar pronto.


0

Também enfrentei o mesmo problema recentemente e a fonte do script nvm bash usando o source ~ / .nvm / nvm.sh resolveu esse problema.


0

Use os seguintes códigos

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash`
source ~/.nvm/nvm.sh`
nvm install 0.8

0

Depois de tentar várias etapas, não tenho certeza qual era o problema no meu caso, mas executar isso ajudou:

touch ~/.bash_profile
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

Verificado por nvm --version

saída nvm -v

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.