Node Version Manager install - comando nvm non trovato


303

Sto cercando di installare NVM secondo queste istruzioni

Ho digitato questo comando nel terminale:

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

Dopo aver eseguito l'installazione, riavvio il terminale e tento di installare Node.js con questo comando:

$ nvm install 0.8

ma ottengo la risposta:

-bash: nvm: command not found

Non sono sicuro di cosa sto facendo di sbagliato qui.

Informazioni addizionali--

Ho cercato soluzioni da altri post e forum. Ho trovato un'altra soluzione utilizzando

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

ma questo si interrompe ogni volta che lo provo. Qualsiasi aiuto sarebbe apprezzato. Grazie.

Risposte:


369

Controlla la tua .bash_profile, .zshrco .profilefile. Molto probabilmente hai avuto un problema durante l'installazione.

Dovresti avere quanto segue alla fine di uno di quei file.

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

La . $HOME/.nvm/nvm.shè la stessasource $HOME/.nvm/nvm.sh

Vedi: Sourcing di un file

Puoi anche verificare se hai una .nvmcartella.

ls -a | grep .nvm

Se ti manca quella cartella, l'installazione non è riuscita a eseguire il comando git. Ciò potrebbe essere dovuto al fatto di essere dietro un proxy. Prova invece a eseguire quanto segue.

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

2
L' .nvmdovrebbe essere una directory. È installato tramite il seguente comando git clone git://github.com/creationix/nvm.git $NVM_TARGET. In precedenza hai detto che hai provato a eseguire quel comando da solo e non è riuscito? Molto probabilmente sei dietro un proxy e probabilmente non sei configurato. Prova invece a eseguire il follow. git clone http://github.com/creationix/nvm.git .nvm
travis,

21
hanno anche la linea, ma 'source ~ / .nvm / nvm.sh' funziona
K - La tossicità in SO sta crescendo.

2
Se la cartella .nvm è vuota è probabilmente perché il recupero del repository non è riuscito a causa della licenza del contratto xcode non accettata. Eseguire sudo xcodebuild -licensee accettare la licenza (spingendo spaceper raggiungere la fine della licenza e accettarne i termini) fa il trucco.
Pierre Criulanscy,

4
Potrebbe anche essere necessario source .bashrco source .profiledipendente
Henry Tseng

1
Quasi sempre quei file saranno presenti nella tua home directory. source $HOME/.bashrc, ecc.
travis,

634

Penso che ti sia perso questo passaggio:

source ~/.nvm/nvm.sh

Puoi eseguire questo comando sulla bash OPPURE puoi inserirlo nel file /.bashrc o ~ / .profile o ~ / .zshrc per caricarlo automaticamente

https://github.com/creationix/nvm


5
Rendiamo migliore la documentazione. Ho creato un problema sul repository nvm: github.com/creationix/nvm/issues/748
Jonny Burger

3
L'ho eseguito manualmente più volte fino a quando non l'ho finalmente inserito nel mio .bashrc!
Brady Dowling,

2
questo ha funzionato per me, ma per automatizzarlo ho dovuto creare prima il profilo. "touch ~ / .profile", "open ~ / .profile", incolla sopra, salva + chiudi. funziona ora in nuove finestre
Sonic Soul il

6
Aggiungerlo a è ~/.bash_profilestato ciò che ha funzionato per me
spencer.sm il

6
Questo ha funzionato per me. Ho aggiunto source ~/.nvm/nvm.shal mio ~/.zshrce ora nvmfunziona ogni volta
Eddy Vinck,

88

Questo funziona per me:

  1. Prima di installare nvm, esegui questo nel terminale:touch ~/.bash_profile

  2. Dopo, esegui questo nel terminale:
    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

  3. Importante ... - NON dimenticare di riavviare il terminale O utilizzare il comando source ~/.nvm/nvm.sh(questo aggiornerà i comandi disponibili nel percorso del sistema).

  4. Nel terminale, usa il comando nvm --versione dovresti vedere la versione


8
3) Non dimenticare di riavviare il componente chiave del terminale! Ecco perché il mio non funzionava. Grazie
Sebastian

1
In che modo un "Riavvia il [loro] componente chiave terminale"?
Edward,

46

source ~/.nvm/nvm.sh Aggiungi questa riga a ~ / .bashrc, ~ / .profile o ~ / .zshrc


4
questa è la soluzione "permanente" che dura su più shell o sessioni di shell.
ahnbizcad,

Questa è l'unica risposta che funzionerà. Anche dopo più riaperture del terminale. Infine, non dimenticare di riavviare il terminale dopo aver fatto questo :)
coderpc

40

Risposta rapida

Capire quanto segue:

  1. Quale shell sta usando il tuo terminale, digita: echo $0per scoprirlo (normalmente funziona)
  2. Quale file di avvio carica quella shell all'avvio (NON accedere al file di avvio della shell , al normale file di avvio della shell , c'è una differenza!)
  3. Aggiungi source ~/.nvm/nvm.sha quel file (supponendo che il file esista in quella posizione, è il percorso di installazione predefinito)
  4. Inizia una nuova sessione terminale
  5. Profitto?

Esempio

Come puoi vedere afferma zshe non bash. inserisci qui la descrizione dell'immagine

Per risolvere questo problema, dovevo aggiungere source ~/.nvm/nvm.shal ~/.zshrcfile come quando si avvia un nuovo terminale, il mio Deepin Terminal zsh legge ~/.zshrce non bashs ~/.bashrc.

Perché succede?

Ciò accade perché durante l'installazione di NVM aggiunge codice ~/.bashrc, poiché il mio terminale Deepin Terminal utilizza zshe non bashlegge mai ~/.bashrce quindi non carica mai NVM.

In altre parole: questo è un errore di NVM.

Maggiori informazioni su zshpossono essere lette su una delle risposte qui .


puoi semplicemente mettere zsh alla fine del comando curl. ad esempio: curl raw.github.com/creationix/nvm/master/install.sh | zsh
Prabhakar,

22

In macOS, ho dovuto cercarlo usando il source ~/.nvm/nvm.shcomando per risolvere questo problema.

Successivamente, aggiungi queste righe

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

su in ~/.bash_profilemodo che nvm venga automaticamente acquisito al momento dell'accesso.


11

Tutte le risposte a queste domande sono utili. Soprattutto la risposta data da Travis mi ha aiutato. Per gli utenti di Mac OS X vorrei fornire alcuni passaggi che li aiuteranno a lavorare con la nuova installazione di Node Version Manager aka nvm.

Installazione e utilizzo di nvm su Mac OS X

Ecco i passaggi per la nuova installazione di nvm e l'utilizzo senza problemi:

  • Installa homebrew da qui .
  • Utilizzando homebrew install nvm

    brew update brew install nvm

  • Crea .nvmdirectory nella ~/.nvmposizione.

    mkdir ~/.nvm

  • Ora se non si dispone di una .bash_profileconfigurazione file per il terminale OS X, creare a .bash_profilea livello di root:

    nano ~/.bash_profile

  • Incolla sotto il codice in .bash_profilee premi CTRL + Oe premi invio per salvare il .bash_profilefile. Premere CTRL + Xper uscire dall'editor:

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

  • Ora, abbastanza ( CMD + Q) il terminale o esegui il comando seguente per caricare le .bash_profileimpostazioni:

    source ~/.bash_profile

  • Ora esegui il nvm lscomando per ottenere l'elenco di tutte le versioni di nodejs installate.


Grazie, penso che ciò che mi è mancato è stata la creazione della .nvmdirectory.
Icarovirtual,

11

Per prima cosa aggiungi le seguenti righe nel file ~ / .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

quindi apri il terminale e crea lo script nvm.sh

source ~/.nvm/nvm.sh

8

OSX 10.15.0 Catalina (rilasciato a novembre 2019) ha cambiato la shell predefinita in zsh.

La shell predefinita era precedentemente bash.

Il comando di installazione fornito nella pagina nvm GitHub deve essere ottimizzato per includere "zsh" alla fine.

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

Nota: potrebbe essere necessario assicurarsi che il .rcfile per zsh sia presente in anticipo:

touch ~/.zsrhrc

5

Non direttamente connesso alla domanda, ma potrebbe esserci un problema simile, dai un'occhiata a questa domanda: Impossibile eseguire nvm da new bash


Ecco la mia risposta su quel post, solo per riferimento:

Se stai eseguendo una nuova istanza di bash e HAI il codice di inizializzazione sul tuo ~ / .bashrc, ~ / .bash_profile, ecc, allora devi controllare questo file di inizializzazione per i condizionali.

Su Ubuntu 14, c'è un:

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

Alla riga 6, ciò interromperà l'esecuzione se bash non viene eseguito con il flag "-i" (interattivo). Quindi dovresti eseguire:

bash -i

Inoltre, alla fine del file, c'è un

[ -z "$PS1" ] && return

Ciò interromperà l'esecuzione se non viene eseguito con $ PS1 impostato (come in una sessione ssh remota).

Se non desideri aggiungere alcun ambiente o flag, dovrai rimuovere quei condizionali dal tuo file di inizializzazione.

Spero sia utile.


5

Se si utilizza OS X, potrebbe essere necessario creare il file .bash_profile prima di eseguire il comando di installazione. Che ha fatto per me.

Crea il file del profilo

touch ~/.bash_profile

Riesegui l'installazione e questa volta vedrai una riga rilevante nell'output.

=> Aggiunta della stringa di origine a /Users/{username}/.bash_profile

Ricarica il tuo profilo (o chiudi / riapri la finestra Terminale).

.  ~/.bash_profile

5

Per Mac OS:

  1. Terminale aperto
  2. Correre touch ~/.bash_profile
  3. Correre vi ~/.bash_profile
  4. genere source ~/.nvm/nvm.sh
  5. Premi Shift + Esce digitawq e premereenter
  6. Fatto.

In Ubuntu 18.04, avevo solo bisogno di: 4. Digitare source ~ / .nvm / nvm.sh e grazie mille!
Darnell Lynch,

4

Aggiungi le seguenti righe ai file ~/.bashrce ~/.bash_profile:

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

e riavviare il terminale o fare source ~/.bashrco source ~/.bash_profile. Se hai bisogno del completamento del comando per nvm, aggiungi anche la riga:

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

Insieme alle righe precedenti per ~/.bashrce ~/.bash_profile.


4

Per MacOS;

Esegui sul terminale>

open ~/.bash_profile

Incolla tutto questo =

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

2

Lo script di installazione nvm per impostazione predefinita aggiunge il codice di inizializzazione al tuo $HOME/.profile , che viene caricato solo da una shell di accesso (in un ambiente desktop potresti non vedere mai una shell di accesso).

Il comando nvm nella shell di accesso non viene propagato alle sotto-shell (come le finestre della console e i terminali IDE dopo l'accesso). Questo snippet nel tuo $HOME/.bashrccaricherà nvm solo se è una shell interattiva e non è già stato caricato

# 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

$HOME/.bashrcMetterlo nel file risolverà il problema nvm mancante nelle shell bash interattive, anche da una GUI, e anche se nvm è installato in una posizione non standard.


2

Ho risolto questo problema.

  1. toccare ~ / .bash_profile
  2. aprire ~ / .bash_profile
  3. incollaexport 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

Per il problema è stato risolto quando mi sono trasferito

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

fino alla fine di .zshrc


1

Su Debian, oltre ad aggiungere le righe seguenti al mio .bash_profile, come ha detto una delle risposte sopra. Ho anche dovuto aprire le mie preferenze del terminale (Modifica -> Preferenze profilo -> Comando) e abilitare "Esegui comando come shell di accesso" per farlo funzionare.

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

Modifica: per quelli su Mac, sappi che macOS non legge .bashrc all'avvio del Terminale, quindi è preferibile usare .bash_profile. Vedere qui.


1

Nel mio caso, perché uso il pesce . se non comincio a pescare , basta digitare nvm per ora nessun errore.


Come hai fermato il pesce ?
Matko,

digitare exit @MobileDream.
JerryZhou

1

Lo Windows 8.1 x64stesso è successo con me e ha ricevuto il seguente messaggio.

nvm install 8.3.0 bash: nvm: comando non trovato windows

Quindi, segui o verifica di seguito i seguenti passaggi-

prima installazione coreybutler/nvm-windowsda github.com. Ultima versione 1.1.5 attualmente disponibile nvm-setup.zip, successivamente estratto l'installazione nvm-setup.exee l'installazione come i seguenti percorsi:

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

e nel frattempo l'installazione gestirà la variabile d'ambiente Pathcome sopra detto per te.

Ora esegui Git Bashcome amministratore e quindi.

$ 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)

qui esegui il tuo comando senza usare il prefisso $, viene mostrato qui per determinarlo come riga di comando e ora verificheremo la versione di nvm.

$ nvm --version
Running version 1.1.5.

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

se hai problemi con nvml'installazione node, puoi vedere questo elenco di nodejsversioni disponibili qui https://nodejs.org/download/release/e scegliere il programma di installazione corretto secondo la tua versione richiesta uguale o superiore a quella v6.3.0diretta.


0

Per me ha funzionato. Prima controlla che il file .bashrcabbia la seguente riga

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

Ora bashrcviene caricato per ogni sessione terminale. Quindi riavvia il terminale in modo che sia nuovamente caricato e dovresti essere pronto per partire.


0

Di recente ho anche riscontrato lo stesso problema e l'approvvigionamento dello script nvm bash utilizzando source ~ / .nvm / nvm.sh ha risolto questo problema.


0

Usa i seguenti codici

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

0

Dopo aver provato più passaggi, non sono sicuro di quale sia stato il problema nel mio caso, ma l'esecuzione di questo ha aiutato:

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

Verificato da nvm --version

nvm -v output

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.