Ao usar uma nova sessão de terminal no OS X, nvm
esquece a versão do nó e o padrão é nada:
$ nvm ls
:
.nvm
v0.11.12
v0.11.13
Eu tenho que continuar batendo nvm use v.0.11.13
em todas as sessões:
.nvm
v0.11.12
-> v0.11.13
Eu tentei tanto a brew
instalação quanto o script de instalação oficial.
Meu .profile
para a versão brew:
#nvm
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
E para o script install.sh:
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.10.0/install.sh | bash
#nvm
export NVM_DIR="/Users/farhad/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
.bash_profile
e não o seu.bashrc
Respostas:
Tente
nvm alias default
. Por exemplo:$ nvm alias default 0.12.7
Isso define a versão do nó padrão no seu shell. Em seguida, verifique se a alteração persiste fechando a janela do shell, abrindo uma nova e, em seguida:
node --version
fonte
$ nvm alias default 0.11.13
e$ nvm use 0.11.12
eu entendonode --version = 0.11.12
. Ainda assim, em uma nova sessão, o nó desapareceu novamente. No debian, eu não tenho esse problema.nvm alias defaul X
. Com o uso correto, ele realmente funciona. Então o fluxo de trabalho serianvm install X
entãonvm alias default X
, eu acho. Obrigado por ajudar!NVM_DIR
depoisnvm.sh
. Certifique-se de exportar oNVM_DIR
antes.nvm alias default
não define a versão do nó para o ambiente atual, apenas para todos os novos..bash_profile
(ou.bashrc
qualquer outra coisa) não modifique nadaPATH
depoissource xx/nvm.sh
Alias para
node
si próprio para evitar a atualização do alias padrão junto com as atualizações de versão do nó posteriormente.fonte
node alias default stable
?stable
mais usar . Nos documentos da nvm: "stable: esse alias foi descontinuado e se aplica apenas ao nó v0.12 e anterior. Atualmente, esse é um alias para o nó".node
é o padrão? O Node instalado e usado pelo NVM no shell atual ou o Node possivelmente instalado no sistema pelo pacote de instalação do Node ou pelo Homebrew etc?node
(estable
, mas tudo o que foi lançado no semver é estável, agora é uma palavra inútil) usa a versão mais recente disponível. Para comandos locais, o mais recente instalado; para comandos remotos, mais recente disponível.Para instalar a versão estável mais recente:
Para definir o padrão para a versão estável (em vez de uma versão específica):
Para listar versões instaladas:
A partir de
v6.2.0
, será algo como:fonte
nvm list
ajuda os usuários a visualizar o que está acontecendo com seus versionamentos. Obrigado!No meu caso, outro programa adicionou
PATH
alterações ao.bashrc
Se o outro programa alterasse a inicialização do nvm
PATH
após , asPATH
alterações do nvm seriam esquecidas e obteríamos o nó do sistema em nossoPATH
(ou nenhum nó).A solução foi mover a configuração da nvm para a parte inferior do
.bashrc
Solução:
(Isso ocorreu com o bash 4.2.46 no CentOS. Parece-me um bug no bash, mas posso estar enganado.)
fonte
O nvm faz seu trabalho alterando a variável PATH, portanto, você precisa ter certeza de que não está alterando seu PATH para outra coisa depois de obter o script nvm.sh.
No meu caso, nvm.sh estava sendo chamado em .bashrc, mas a variável PATH estava sendo atualizada em .bash_profile, o que fez com que minha sessão localizasse o nó do sistema antes do nó nvm.
fonte
nvm alias default
envm use
para a versão que eu precisava..bashrc
:export NVM_DIR="$HOME/.nvm"
then. "/usr/local/opt/nvm/nvm.sh"
As soluções mais bem avaliadas não pareciam funcionar para mim. Minha solução está abaixo:
brew uninstall nvm
brew install nvm
No Terminal, siga as etapas abaixo (elas também são listadas ao instalar o nvm via homebrew):
As etapas descritas acima adicionam o diretório de trabalho do NVM ao seu caminho $ HOME, copiam o nvm-exec para o diretório de trabalho do NVM e adicionam a $ HOME / .bashrc, $ HOME / .zshrc ou o arquivo de configuração equivalente do seu shell. listados em uma instalação NVM usando homebrew)
fonte
Se você já tentou de tudo sem sorte, pode tentar o seguinte: _
1 -> desinstalar o NVM
2 -> Remova as dependências npm seguindo este
3 -> Instalar NVM
4 -> Definir
~/.bash_profile
configuraçãoCorre
sudo nano ~/.bash_profile
Copie e cole seguindo este
5 ->
CONTROL + X
salve as alterações6 -> Executar
. ~/.bash_profile
7 -> Agora você deve ter
nvm
instalado em sua máquina; para instalar o nó, execute anvm install v7.8.0
versão padrão do nó ou você pode instalar qualquer versão do nófonte
Esta pergunta foi mencionada para o OSX, mas aconteceu comigo no meu sistema operacional Linux. Tentei usar,
nvm alias default <version>
mas para cada nova sessão de terminal a versão do nó usado foi esquecida. Então, aqui está a solução que eu descobri.certifique-se de definir um alias padrão para a versão do nó , insira o seguinte código em .bashrc e
source .bashrc
.link da solução descritiva
fonte
v
na versão ao configurar o controle remoto. Por exemplo, emv4.2.4
vez de4.2.4
.Fazendo
nvm install 10.14
, por exemplo, seránvm use
que a versão para a sessão shell atual, mas vai não sempre defini-lo como padrão para futuras sessões como seria de esperar. A versão do nó que você obtém em uma nova sessão de shell é determinada pornvm alias default
. De maneira confusa,nvm install
apenas definirá o alias padrão se ainda não estiver definido. Para obter o comportamento esperado, faça o seguinte:Isso garantirá que a versão seja baixada, use-a para a sessão atual e defina-a como padrão para sessões futuras.
fonte
execute isso depois de instalar qualquer versão,
Este comando está copiando qualquer versão do nó que você tenha ativado via nvm no diretório / usr / local / e configurando as permissões para que todos os usuários possam acessá-las.
fonte
&&
s em vez de;
s nesse comando. Sewhich
não encontrar o nó, não queremos continuar com o chmod/bin/*
!Eu encontrei um novo caminho aqui. Utilizando a ajuda de
n
gerenciar interativamente o seu Node.js.fonte
fish
shell, mas a resposta aceita não funcionou para mim.n
funciona um deleite!Estou usando o ZSH, então tive que modificar
~/.zshrc
com as linhas relativas ao NVM nessa ordem:fonte
quando usamos o comando acima, atualize apenas a versão do nó, mas ele
npm
ainda usa a versão antiga.Aqui está outra solução para atualizar os dois
node
enpm
, no meu caso, quero usar o nó8.9.4
e usei o comando abaixo.E o comando retorna a saída.
fonte
Se você também tem SDKMAN ...
De alguma forma, o SDKMAN estava em conflito com o meu NVM. Se você está maluco com isso e ainda não consegue descobrir, eu apenas o consertei ignorando o "ISSO DEVE ESTAR NO FINAL DO ARQUIVO ..." do SDKMAN e colocando as linhas NVM atrás dele.
fonte
Eu estava enfrentando o mesmo problema enquanto usava o terminal integrado no editor de código VS. Reiniciar o VS Code após alterar a versão do nó usando o nvm corrigiu o problema para mim.
fonte
Aqui está uma instrução simples:
1) Instale:
2) Use uma vez por terminal
3) Configure como padrão para todos os terminais
Pode ser necessário usar permissões de root para executar essas ações.
E não se esqueça de verificar a documentação da nvm para obter mais informações.
Observe também que pode ser necessário especificar a versão do nó para o seu IDE:
fonte
Também no caso de você ter um nó instalado antes do nvm, verifique no seu ~ / .bash_profile para não ter algo como:
Se você o possui, comente / remova-o e o nvm deve começar a manipular a versão do nó padrão.
fonte
Depois de muito tempo em conflito com esse problema, descobri como corrigi-lo. Aqui está uma solução passo a passo para o problema:
Abra o terminal e instale as ferramentas do desenvolvedor da linha de comandos:
xcode-select --install
Pressione Enter
Instale a versão mais recente do NVM:
cd ~/
Pressione Enter
git clone https://github.com/creationix/nvm.git .nvm
Caso você já tenha criado a pasta .nvm antes, você verá a próxima mensagem de erro:
fatal: destination path '.nvm' already exists and is not an empty directory.
Caso contrário, você verá o processo de clonagem em execução até que seja concluído.
Confira a versão mais recente do NVM:
cd ~/.nvm
Pressione Enter
git checkout v0.34.0
Você receberá uma resposta semelhante a:
HEAD is now at 3d9c31d v0.34.0
A versão pode ser diferente em sistemas diferentes.
ls
Pressione Enter
. nvm.sh
Pressione Enter
nvm list
Pressione Enter
Você verá as diferentes versões de nós instaladas na sua máquina; pode haver alguns erros, não dê atenção a eles.
nvm ls-remote | tail -n9
Pressione Enter
nvm list
Abra o bash usando o vim:
vim ~/.bash_profile
Dentro do editor vim, pressione:
i
para inserirINSERT mode
e iniciar uma nova linha. Se houver algum erro ao editar, pressione aESC
tecla e, em seguida,:q!
para sair sem salvar.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
Pressione a
ESC
tecla quando terminar de editar o arquivo (você verá o modo INSERIR desaparecendo).:wq
para salvar o arquivo.Pressione Enter
nvm ls-remote | tail -n9
Pressione enter e instale a versão mais recente do nvm apresentada:
nvm install 12.6.0
Quando o processo terminar, você verá:
Now using node v12.6.0 (npm v6.9.0)
Você pode verificar se a instalação foi bem-sucedida pressionando:
node -v
ounpm -v
, deve mostrar as versões do nvm e do npm instaladas no seu sistema.fonte