Al usar una nueva sesión de terminal en OS X, nvm
olvida la versión del nodo y por defecto es nada:
$ nvm ls
:
.nvm
v0.11.12
v0.11.13
Tengo que seguir golpeando nvm use v.0.11.13
en cada sesión:
.nvm
v0.11.12
-> v0.11.13
He intentado tanto la brew
instalación como el script de instalación oficial.
Mi .profile
para la versión de preparación:
#nvm
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
Y para el 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
y no de tu.bashrc
Respuestas:
Tratar
nvm alias default
. Por ejemplo:$ nvm alias default 0.12.7
Esto establece la versión de nodo predeterminada en su shell. Luego verifique que el cambio persista cerrando la ventana de shell, abriendo una nueva, luego:
node --version
fuente
$ nvm alias default 0.11.13
y$ nvm use 0.11.12
, entiendonode --version = 0.11.12
. Aún así, en una nueva sesión, el nodo desaparece nuevamente. En debian, no tengo este problema en absoluto.nvm alias defaul X
. Con el uso correcto, realmente funciona. Entonces el flujo de trabajo seríanvm install X
entoncesnvm alias default X
, supongo. Gracias por ayudar!NVM_DIR
afternvm.sh
. Asegúrese de exportar elNVM_DIR
antes.nvm alias default
no establece la versión del nodo para el entorno actual, solo para todos los nuevos..bash_profile
(o.bashrc
lo que sea) no tengas nada que modificarPATH
despuéssource xx/nvm.sh
Alias para
node
evitar actualizar el alias predeterminado junto con las actualizaciones de la versión del nodo más adelante.fuente
node alias default stable
?stable
más. De los documentos de nvm: "estable: este alias está en desuso y solo se aplica realmente al nodo v0.12 y anteriores. Actualmente, este es un alias para el nodo".node
aplica esto por defecto? ¿El nodo instalado y utilizado por NVM en el shell actual, o el nodo posiblemente instalado en el sistema por el paquete de instalación del nodo o Homebrew, etc.?node
(ystable
, pero todo lo publicado en semver es estable, por lo que ahora es una palabra inútil) usa la última versión disponible. Para comandos locales, último instalado; para comandos remotos, último disponible.Para instalar la última versión estable:
Para establecer por defecto la versión estable (en lugar de una versión específica):
Para enumerar las versiones instaladas:
A partir de entonces
v6.2.0
, se verá algo así como:fuente
nvm list
ayuda a los usuarios a visualizar lo que sucede con sus versiones. ¡Gracias!En mi caso, otro programa había agregado
PATH
cambios a.bashrc
Si el otro programa cambió el
PATH
después de la inicialización de NVM, luego de NVMPATH
serían olvidados cambios, y nos gustaría obtener el nodo del sistema en nuestraPATH
(o ningún nodo).La solución fue mover la configuración de nvm al final de
.bashrc
Solución:
(Esto fue con bash 4.2.46 en CentOS. Me parece un error en bash, pero puedo estar equivocado).
fuente
nvm hace su trabajo al cambiar la variable PATH, por lo que debe asegurarse de no cambiar su PATH de alguna otra manera después de obtener el script nvm.sh.
En mi caso, se llamaba a nvm.sh en .bashrc pero luego la variable PATH se actualizaba en .bash_profile, lo que hacía que mi sesión encontrara el nodo del sistema antes del nodo nvm.
fuente
nvm alias default
ynvm use
a la versión que necesitaba..bashrc
:export NVM_DIR="$HOME/.nvm"
entonces. "/usr/local/opt/nvm/nvm.sh"
Las soluciones mejor calificadas no parecían funcionar para mí. Mi solución está abajo:
brew uninstall nvm
brew install nvm
En Terminal, siga los pasos a continuación (estos también se enumeran al instalar nvm a través de homebrew):
Los pasos descritos anteriormente agregarán el directorio de trabajo de NVM a su ruta $ HOME, copiará nvm-exec al directorio de trabajo de NVM y lo agregarán a $ HOME / .bashrc, $ HOME / .zshrc, o el archivo de configuración equivalente de su shell. listado en una instalación NVM usando homebrew)
fuente
Si has intentado todo y aún no tienes suerte, puedes intentar esto:
1 -> Desinstalar NVM
2 -> Eliminar dependencias npm siguiendo esto
3 -> Instalar NVM
4 -> Configurar
~/.bash_profile
configuracióncorrer
sudo nano ~/.bash_profile
Copia y pega después de esto
5 ->
CONTROL + X
guardar los cambios6 -> Ejecutar
. ~/.bash_profile
7 -> Ahora deberías haber
nvm
instalado en tu máquina, para instalar el nodo,nvm install v7.8.0
esta será la versión predeterminada del nodo o puedes instalar cualquier versión del nodofuente
Esta pregunta se ha mencionado para OSX, pero me sucedió en mi sistema operativo Linux. Intenté usar
nvm alias default <version>
pero para cada nueva sesión de terminal se olvidó la versión de nodo utilizada. Entonces, aquí está la solución que descubrí.asegúrese de establecer un alias predeterminado para la versión del nodo , coloque el siguiente código en .bashrc y
source .bashrc
.enlace de solución descriptiva
fuente
v
en la versión al configurar el control remoto. Por ejemplo, env4.2.4
lugar de4.2.4
.Hacer
nvm install 10.14
, por ejemplo,nvm use
esa versión para la sesión de shell actual, pero no siempre la establecerá como predeterminada para futuras sesiones como era de esperar. La versión de nodo que obtiene en una nueva sesión de shell está determinada pornvm alias default
. Confusamente,nvm install
solo establecerá el alias predeterminado si aún no está configurado. Para obtener el comportamiento esperado, haga esto:Esto asegurará que se descargue esa versión, úsela para la sesión actual y configúrela como predeterminada para futuras sesiones.
fuente
ejecuta esto después de instalar cualquier versión,
Este comando copia cualquier versión del nodo que tenga activa a través de nvm en el directorio / usr / local / y configura los permisos para que todos los usuarios puedan acceder a ellos.
fuente
&&
s en lugar de;
s en ese comando. Siwhich
no puede encontrar el nodo, ¡no queremos continuar con chmod/bin/*
!He encontrado una nueva forma aquí. Usar
n
Interactivamente Administre su Node.js ayuda.fuente
fish
shell, pero la respuesta aceptada no funcionó para mí.n
funciona de maravilla!Estoy usando ZSH, así que tuve que modificar
~/.zshrc
con las líneas relativas a NVM en ese orden:fuente
cuando usamos el comando anterior, solo actualizamos la versión del nodo, pero
npm
aún utiliza la versión anterior.Aquí hay otra solución para actualizar ambos
node
ynpm
, en mi caso, quiero usar el nodo8.9.4
y he usado el siguiente comando.Y el comando devuelve la salida.
fuente
Si también tienes SDKMAN ...
De alguna manera SDKMAN estaba en conflicto con mi NVM. Si está loco con esto y todavía no puede resolverlo, lo solucioné ignorando el "ESTO DEBE ESTAR AL FINAL DEL ARCHIVO ..." de SDKMAN y colocando las líneas de NVM después.
fuente
Estaba enfrentando el mismo problema mientras usaba el terminal integrado en el editor de VS Code. Reiniciar VS Code después de cambiar la versión del nodo usando nvm me solucionó el problema.
fuente
Aquí hay una instrucción simple:
1) Instalar:
2) Usar una vez por terminal
3) Configurar por defecto para todos los terminales
Es posible que deba usar permisos de root para realizar esas acciones.
Y no olvide consultar la documentación de nvm para obtener más información.
También tenga en cuenta que es posible que deba especificar la versión del nodo para su IDE:
fuente
También en caso de que haya instalado un nodo antes de nvm, verifique su ~ / .bash_profile para que no tenga algo como:
Si lo tiene, coméntelo / elimínelo y nvm debería comenzar a manejar la versión de nodo predeterminada.
fuente
Después de un largo tiempo de conflicto con este problema, descubrí cómo solucionarlo. Aquí hay una solución paso a paso para el problema:
Abra la terminal e instale las herramientas de desarrollador de línea de comandos:
xcode-select --install
Presione enter
Instale la última versión de NVM:
cd ~/
Presione enter
git clone https://github.com/creationix/nvm.git .nvm
En caso de que ya haya creado la carpeta .nvm anteriormente, verá el siguiente mensaje de error:
fatal: destination path '.nvm' already exists and is not an empty directory.
De lo contrario, verá el proceso de clonación ejecutándose hasta que lo haya hecho.
Mira la última versión de NVM:
cd ~/.nvm
Presione enter
git checkout v0.34.0
Obtendrá una respuesta similar a:
HEAD is now at 3d9c31d v0.34.0
La versión puede ser diferente en diferentes sistemas.
ls
Presione enter
. nvm.sh
Presione enter
nvm list
Presione enter
Verá las diferentes versiones de nodo instaladas en su máquina, puede haber algunos errores, no les preste atención.
nvm ls-remote | tail -n9
Presione enter
nvm list
Abra bash usando vim:
vim ~/.bash_profile
Dentro del editor vim, presione:
i
para ingresarINSERT mode
y comenzar una nueva línea. Si tiene algún error al editar, presione laESC
tecla y luego:q!
para salir sin guardar.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
Presione la
ESC
tecla cuando termine de editar el archivo (verá que desaparece el modo INSERTAR).:wq
para guardar el archivo.Presione enter
nvm ls-remote | tail -n9
Presione enter e instale la última versión de nvm presentada:
nvm install 12.6.0
Cuando finalice el proceso, verá:
Now using node v12.6.0 (npm v6.9.0)
Puede verificar si la instalación se realiza correctamente presionando:
node -v
onpm -v
debería mostrarle las versiones de nvm y npm instaladas en su sistema.fuente