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.

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

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


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


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


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í .


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.


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.


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

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

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.


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

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.

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.


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

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.


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

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


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í.


1

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


¿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.


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.


0

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


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

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.