Instalación de Node Version Manager: comando nvm no encontrado

303

Estoy tratando de instalar NVM según estas instrucciones

Escribí este comando en la terminal:

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

Después de ejecutar la instalación, reinicio el terminal e intento instalar Node.js con este comando:

$ nvm install 0.8

pero recibo la respuesta:

-bash: nvm: command not found

No estoy seguro de qué estoy haciendo mal aquí.

Información adicional--

He estado buscando soluciones de otras publicaciones y foros. Encontré otra solución usando

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

pero esto se agota cada vez que intento eso. Cualquier ayuda sería apreciada. Gracias.

Jordán
fuente

Respuestas:

369

Comprueba tu .bash_profile, .zshrco .profilearchivo. Lo más probable es que haya tenido un problema durante la instalación.

Debería tener lo siguiente al final de uno de esos archivos.

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

El . $HOME/.nvm/nvm.shes lo mismo quesource $HOME/.nvm/nvm.sh

Ver: abastecimiento de un archivo

También puede verificar si tiene una .nvmcarpeta.

ls -a | grep .nvm

Si falta esa carpeta, la instalación no pudo ejecutar el comando git. Esto podría deberse a estar detrás de un proxy. Intente ejecutar lo siguiente en su lugar.

git clone http://github.com/creationix/nvm.git .nvm
travis
fuente
2
El .nvmdebería ser un directorio. Se instala mediante el siguiente comando git clone git://github.com/creationix/nvm.git $NVM_TARGET. ¿Dijo anteriormente que trató de ejecutar ese comando usted mismo y falló? Lo más probable es que esté detrás de un proxy y no esté configurado probablemente. Intenta ejecutar el seguimiento en su lugar. git clone http://github.com/creationix/nvm.git .nvm
travis
21
también tienen la línea, pero 'source ~ / .nvm / nvm.sh' funciona
K - La toxicidad en SO está creciendo.
2
Si la carpeta .nvm está vacía, probablemente se deba a que la recuperación del repositorio ha fallado debido a que no se ha aceptado la licencia del acuerdo de xcode. Ejecutar sudo xcodebuild -licensey aceptar la licencia (presionando spacepara llegar al final de la licencia y aceptar sus términos) hace el truco.
Pierre Criulanscy
44
También puede necesitar source .bashrco source .profiledependiendo
Henry Tseng
1
Casi siempre esos archivos existirán en su directorio de inicio. source $HOME/.bashrc, etc.
travis
634

Creo que te perdiste este paso:

source ~/.nvm/nvm.sh

Puede ejecutar este comando en el bash O puede ponerlo en el archivo /.bashrc o ~ / .profile o ~ / .zshrc para cargarlo automáticamente

https://github.com/creationix/nvm

Deepak Lamichhane
fuente
55
Mejoremos la documentación. He creado un problema en el repositorio nvm: github.com/creationix/nvm/issues/748
Jonny Burger
3
¡Ejecuté esto manualmente varias veces hasta que finalmente lo puse en mi .bashrc!
Brady Dowling
2
esto funcionó para mí, pero para automatizarlo primero tuve que crear un perfil. "touch ~ / .profile", "abrir ~ / .profile", pegar arriba, guardar + cerrar. funciona en nuevas ventanas ahora
Sonic Soul
66
Agregarlo a eso ~/.bash_profilefue lo que funcionó para mí
spencer.sm
66
Esto funcionó para mí. Agregué source ~/.nvm/nvm.sha mi ~/.zshrcy ahora nvmfunciona cada vez
Eddy Vinck
88

Esto funciona para mi:

  1. Antes de instalar nvm, ejecute esto en la terminal:touch ~/.bash_profile

  2. Después, ejecuta esto en la terminal:
    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

  3. Importante ... - NO olvide reiniciar su terminal O use el comando source ~/.nvm/nvm.sh(esto actualizará los comandos disponibles en la ruta de su sistema).

  4. En la terminal, use el comando nvm --versiony debería ver la versión

Alireza
fuente
8
3) ¡No olvide reiniciar el componente clave de su terminal! Por eso el mío no estaba funcionando. Gracias
Sebastian
1
¿Cómo se "reinicia [su] componente clave de terminal"?
Edward
46

source ~/.nvm/nvm.sh Agregue esta línea a ~ / .bashrc, ~ / .profile o ~ / .zshrc

usuario2015258
fuente
44
Esta es la solución "permanente" que dura en múltiples shells o sesiones de shell.
ahnbizcad
Esta es la única respuesta que funcionará. Incluso después de múltiples reaperturas de terminal. Por último, no olvides reiniciar tu terminal una vez que hagas esto :)
coderpc
40

Respuesta rápida

Descubre lo siguiente:

  1. Qué shell está usando su terminal, escriba: echo $0para averiguarlo (normalmente funciona)
  2. ¿Qué archivo de inicio carga ese shell cuando se inicia (NO el archivo de inicio del shell de inicio de sesión , el archivo de inicio del shell normal , hay una diferencia!)
  3. Agregar source ~/.nvm/nvm.sha ese archivo (suponiendo que ese archivo exista en esa ubicación, es la ubicación de instalación predeterminada)
  4. Comience una nueva sesión de terminal
  5. ¿Lucro?

Ejemplo

Como puede ver, dice zshy no bash. ingrese la descripción de la imagen aquí

Para solucionar esto, necesitaba agregar source ~/.nvm/nvm.shal ~/.zshrcarchivo ya que al iniciar un nuevo terminal mi Deepin Terminal lee zsh ~/.zshrcy no bashs ~/.bashrc.

Por qué pasó esto

Esto sucede porque al instalar NVM agrega código ~/.bashrc, ya que mi terminal Deepin Terminal usa zshy no bashnunca lee ~/.bashrcy por lo tanto nunca carga NVM.

En otras palabras: esto es culpa de NVM.

Más sobre zshse puede leer en una de las respuestas aquí .

K - La toxicidad en SO está creciendo.
fuente
simplemente puede poner zsh al final del comando curl. por ejemplo: rizo raw.github.com/creationix/nvm/master/install.sh | zsh
Prabhakar
22

En macOS, tuve que buscarlo usando el source ~/.nvm/nvm.shcomando para solucionar este problema.

Después de eso, agregue estas líneas

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

en ~/.bash_profilepara que nvm se obtenga automáticamente al iniciar sesión.

hd84335
fuente
11

Todas las respuestas a estas preguntas son útiles. Especialmente la respuesta dada por Travis me ayudó. Para los usuarios de Mac OS X, me gustaría proporcionar algunos pasos que los ayudarán a trabajar con la nueva instalación de Node Version Manager, también conocido como nvm.

Instalación y uso de nvm en Mac OS X

Estos son los pasos para una nueva instalación de nvm y su uso sin ningún problema:

  • Instalar homebrew desde aquí .
  • Usando homebrew install nvm

    brew update brew install nvm

  • Crear .nvmdirectorio en la ~/.nvmubicación.

    mkdir ~/.nvm

  • Ahora, si no tiene .bash_profilela configuración de archivos para el terminal OS X, cree un .bash_profilenivel raíz:

    nano ~/.bash_profile

  • Pegue el siguiente código en .bash_profiley presione CTRL + Oy presione Entrar para guardar el .bash_profilearchivo. Presione CTRL + Xpara salir del editor:

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

  • Ahora o bien quite ( CMD + Q) el terminal o ejecute el siguiente comando para cargar la .bash_profileconfiguración:

    source ~/.bash_profile

  • Ahora ejecute el nvm lscomando para obtener la lista de todas las versiones de nodejs instaladas.

S.Mishra
fuente
Gracias, creo que lo que me faltó fue crear el .nvmdirectorio.
icarovirtual
11

Primero agregue las siguientes líneas en el archivo ~ / .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

luego abra la terminal y obtenga el script nvm.sh

source ~/.nvm/nvm.sh
KARTHIKEYAN.A
fuente
8

OSX 10.15.0 Catalina (lanzado en noviembre de 2019) cambió el shell predeterminado a zsh.

El shell predeterminado era anteriormente bash.

El comando de instalación proporcionado en la página nvm GitHub debe modificarse para incluir "zsh" al final.

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

Nota: es posible que deba asegurarse de que el .rcarchivo para zsh esté presente de antemano:

touch ~/.zsrhrc
Ben Aston
fuente
5

No está directamente relacionado con la pregunta, pero puede haber un problema similar, eche un vistazo a esta pregunta: no se puede ejecutar nvm desde new bash


Aquí está mi respuesta en esa publicación, solo como referencia:

Si está ejecutando desde una nueva instancia de bash, y TIENE el código de inicialización en su ~ / .bashrc, ~ / .bash_profile, etc., entonces debe verificar este archivo de inicialización para conocer los condicionales.

En Ubuntu 14, hay un:

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

En la línea 6, eso detendrá su ejecución si no se ejecuta bash con el indicador "-i" (interactivo). Entonces necesitarías ejecutar:

bash -i

Además, al final del archivo, hay un

[ -z "$PS1" ] && return

Eso detendrá su ejecución si no se ejecuta con $ PS1 configurado (como en una sesión ssh remota).

Si no desea agregar ningún parámetro o indicador, deberá eliminar esos condicionales de su archivo de inicialización.

Espero que sea útil.

Alan Sikora
fuente
5

Si está utilizando OS X, es posible que deba crear su archivo .bash_profile antes de ejecutar el comando de instalación. Eso lo hizo por mí.

Crea el archivo de perfil

touch ~/.bash_profile

Vuelva a ejecutar la instalación y verá una línea relevante en el resultado esta vez.

=> Agregar cadena de origen a /Users/{username}/.bash_profile

Vuelva a cargar su perfil (o cierre / vuelva a abrir la ventana Terminal).

.  ~/.bash_profile
Nicolas Bouliane
fuente
5

Para Mac OS:

  1. Terminal abierta
  2. correr touch ~/.bash_profile
  3. correr vi ~/.bash_profile
  4. Tipo source ~/.nvm/nvm.sh
  5. Presione Shift + Escy escriba wqy presioneenter
  6. Hecho.
Arjun Kesava
fuente
En ubuntu 18.04, solo necesitaba: 4. Escriba source ~ / .nvm / nvm.sh y muchas gracias.
Darnell Lynch
4

Agregue las siguientes líneas a los archivos ~/.bashrcy ~/.bash_profile:

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

y reinicie el terminal o do source ~/.bashrco source ~/.bash_profile. Si necesita completar el comando para nvm, agregue también la línea:

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

Junto con las líneas anteriores a ~/.bashrcy ~/.bash_profile.

vantony
fuente
4

Para MacOS;

Ejecutar en terminal>

open ~/.bash_profile

Pega todo esto =

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

El script de instalación de nvm por defecto agrega código de inicialización a su $HOME/.profile , que solo se carga mediante un shell de inicio de sesión (en un entorno de escritorio, es posible que nunca vea un shell de inicio de sesión).

El comando nvm en su shell de inicio de sesión no se propaga a sub-shells (como las ventanas de la consola y los terminales IDE después de iniciar sesión). Este fragmento en su $HOME/.bashrcsolo cargará nvm si es un shell interactivo y no se ha cargado ya

# 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

Poner esto en su $HOME/.bashrcarchivo solucionará el problema de nvm que falta en shells interactivos de bash, incluso desde una interfaz gráfica de usuario, e incluso si nvm está instalado en una ubicación no estándar.

Warren MacEvoy
fuente
2

Había solucionado este problema.

  1. toque ~ / .bash_profile
  2. abrir ~ / .bash_profile
  3. pegarexport 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
ChenguangTian
fuente
2

El problema se solucionó cuando me mudé

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

hasta el final de .zshrc

almeynman
fuente
1

En Debian, además de agregar las siguientes líneas a mi .bash_profile como decía una de las respuestas anteriores. También tuve que abrir mis preferencias de terminal (Editar -> Preferencias de perfil -> Comando) y habilitar 'Ejecutar comando como un shell de inicio de sesión' para que funcione.

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

Editar: para aquellos en Mac, tenga en cuenta que macOS no lee .bashrc al iniciar Terminal, por lo que es preferible usar .bash_profile. Mira aquí.

tomhughes
fuente
1

Para mi caso, porque uso pescado . si no empiezo a pescar , simplemente escriba nvm no habrá ningún error ahora.

JerryZhou
fuente
¿Cómo detuviste al pez ?
Matko
escriba exit @MobileDream.
JerryZhou
1

En lo Windows 8.1 x64mismo sucedió conmigo, y recibí el siguiente mensaje.

nvm install 8.3.0 bash: nvm: comando no encontrado windows

Entonces, siga o verifique a continuación los siguientes pasos:

primera instalación coreybutler/nvm-windowsdesde github.com. Actualmente disponible la última versión 1.1.5 nvm-setup.zip, luego extrajo la configuración nvm-setup.exee instalación como las siguientes ubicaciones:

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

mientras tanto, la configuración administrará la variable de entorno Pathcomo se indicó anteriormente para usted.

Ahora ejecute Git Bashcomo Administrador y luego.

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

aquí ejecute su comando sin usar el prefijo $, solo se muestra aquí para determinarlo como una línea de comando y ahora verificaremos la versión nvm.

$ nvm --version
Running version 1.1.5.

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

Si tiene problemas nvmpara instalar node, puede ver esta lista de nodejsversiones disponibles aquí https://nodejs.org/download/release/y elegir el instalador correcto según su versión requerida igual o mayor que v6.3.0directamente.

ArifMustafa
fuente
0

Para mí esto funcionó. Primero verifique que el archivo .bashrctenga la siguiente línea

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

Ahora bashrcse carga para cada sesión de terminal. Por lo tanto, reinicie el terminal para que se vuelva a cargar y debería estar listo.

priyankvex
fuente
0

También enfrenté el mismo problema recientemente y el abastecimiento del script nvm bash usando source ~ / .nvm / nvm.sh resolvió este problema.

Vishnu Dubey
fuente
0

Use los siguientes códigos

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

Después de intentar varios pasos, no estoy seguro de cuál era el problema en mi caso, pero ejecutar esto ayudó:

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

Verificada por nvm --version

salida nvm -v

Mohammed Zameer
fuente