macos - para - nvm windows
¿Homebrew instala nvm pero no se puede encontrar nvm después? (8)
Estoy usando
homebrew
y
oh-my-zsh
en una nueva instalación de OSX 10.10.1.
nvm
través de
homebrew
y luego intenté ejecutarlo, pero dice -
zsh: comando no encontrado: nvm
¿Alguna idea de cuál es el problema? Pude instalar y usar git muy bien ...
ACTUALIZADO 20/09/2019
Como lo indican las respuestas más recientes de
DarkPurple141
y
Elise van Looij
.
nvm
no parece ser compatible con
homebrew
.
Esto también se afirma en el repositorio oficial de nvm-sh ubicado
here
.
La instalación de Homebrew no es compatible. Si tiene problemas con nvm instalado por homebrew, por favor, desinstálelo e instálelo siguiendo las instrucciones a continuación, antes de presentar un problema.
Nota: Si está usando zsh, puede instalar fácilmente nvm como un complemento zsh. Instale zsh-nvm y ejecute nvm upgrade para actualizar.
Los siguientes pasos deberían ayudar:
-
$
brew uninstall nvm
-
$
brew cleanup
(solo por si acaso) -
$
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
-
Compruebe que nvm se instaló correctamente ejecutando $
command -v nvm
.4.a Si la respuesta no es $
nvm
, agregue las siguientes dos líneas al archivo ~ / .bash-profile:export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh
4.b Reinicie su computadora (puede intentar cerrar la Terminal y reiniciarla primero) 4.c $command -v nvm should now return
nvm` -
Ahora actualice Node.js con $
nvm install --lts
-
Actualización npm: $
nvm install-latest-npm
-
$
npm install --global mocha
. ¡Finalmente, el éxito! Bueno, para mí y espero para ti también.
¿Seguiste las instrucciones enumeradas en las advertencias?
[~] brew info nvm
nvm: stable 0.20.0, HEAD
https://github.com/creationix/nvm
Not installed
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/nvm.rb
==> Caveats
Add the following to $HOME/.bashrc, $HOME/.zshrc, or your shell''s
equivalent configuration file:
source $(brew --prefix nvm)/nvm.sh
Node installs will be lost upon upgrading nvm. Add the following above
the source line to move install location and prevent this:
export NVM_DIR=~/.nvm
Sin la configuración adicional, no parece que encuentre NVM por defecto.
Hay DOS cosas que debes hacer. Siga las advertencias que se muestran después de instalar nvm a través de brew, y LUEGO necesita activar / recargar los cambios de .bash_profile.
-
Ejecute
brew install nvm
- Siga las advertencias que se muestran en la consola, las mías fueron las siguientes, ¡la suya PUEDE ser diferente !:
Agregue lo siguiente a ~ / .bash_profile o al archivo de configuración de shell deseado:
export NVM_DIR="$HOME/.nvm" . "$(brew --prefix nvm)/nvm.sh"
-
Corre
. ~/.bash_profile
para aplicar los cambios que realizó en su archivo .bash_profile
He pasado un par de horas dando vueltas y vueltas sobre este tema, pero he llegado a la conclusión de que DarkPurple141 tiene razón: nvm simplemente no es compatible con Homebrew, como afirman en su here Github here Homebrew instalará nvm y todo se verá bien, hasta que uno intente obtener npm para instalar un módulo, Mocha en mi caso. Eso me devolvió al temido error:
¡ERRAR! Error: EACCES: permiso denegado, acceso ''/ usr / local / lib / node_modules''
NOTA: En el paso 3, asegúrese de reemplazar la versión con la versión correcta.
La solución, en MacOS 10.14 Mojave, fue:
-
$
brew uninstall nvm
-
$
brew cleanup
(solo por si acaso) -
$
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
-
Compruebe que nvm se instaló correctamente ejecutando $
command -v nvm
.4.a Si la respuesta no es $
nvm
, agregue las siguientes dos líneas al archivo ~ / .bash-profile:export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh
4.b Reinicie su computadora (puede intentar cerrar la Terminal y reiniciarla primero) 4.c $command -v nvm should now return
nvm` -
Ahora actualice Node.js con $
nvm install --lts
-
Actualización npm: $
nvm install-latest-npm
-
$
npm install --global mocha
. ¡Finalmente, el éxito! Bueno, para mí y espero para ti también.
La razón por la que necesitaría volver a cargar sus perfiles bash o cualquier otro archivo bash podría ser porque el comando nvm puede no ser un programa, sino una función que está definida y solo se puede usar si se obtiene el archivo bash correspondiente.
En un sistema que revisé
nvm list
no funciona pero
typeset -F | grep -P '' nvm$''
hace. Esto significa que puede usar la palabra "nvm" para invocar algo. Ese algo no es un programa. En el caso actual, es una función que puede ser verificada por
declare -F nvm
que salidas
type -F nvm
lo que significa que nvm es una función, cuyo cuerpo puede inspeccionarse haciendo
brew link nvm
Me gustaría agregar que la ubicación de nvm en github cambió y la versión golpeó. El comando curl ahora debería ser:
which nvm
Para instalar nvm,
brew install nvm
Para ejecutar nvm después de la instalación o solo una vez,
$(brew --prefix nvm)/nvm.sh
Para ejecutar nvm cada vez que se abre
zsh
-
nano ~/.zshrc
-
Agregue esta
source $(brew --prefix nvm)/nvm.sh
líneasource $(brew --prefix nvm)/nvm.sh
Si bien la respuesta aceptada técnicamente funciona, vale la pena señalar que la instalación de Homebrew no es oficialmente compatible con el paquete
nvm
.
La forma recomendada de evitar problemas como los mencionados anteriormente es aplicar cualquiera de los siguientes métodos de instalación.
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
# or wget:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
Una posibilidad si se utilizó
brew
es que el
nvm
puede estar desvinculado, especialmente si fue instalado por otro usuario de MAC OS.
En este caso, ejecute:
brew link nvm