Esta guía le brinda una breve introducción a "n" , una herramienta no oficial de administración de versiones de nodos y luego explica cómo administrar fácilmente las versiones de nodejs con n en los sistemas operativos Linux.
¿Qué es n, el administrador de versiones del nodo?
NodoJS no requiere presentación. Nodejs es un entorno de tiempo de ejecución para JavaScript creado sobre el motor V8 de Google. Nodejs viene con un administrador de paquetes integrado llamado npm
para instalar y administrar versiones de nodos y también existen muchas herramientas de terceros para administrar versiones de nodos. n es una de las herramientas de administración de versiones de nodos de terceros. Sí, es solo una letra - n.
El n es un administrador de versiones de nodos interactivo para administrar fácilmente una o varias versiones de NodeJS. Sin subcapas, sin configuración de perfil, sin API intrincada, sin curva de aprendizaje, es simplemente simple herramienta. Es solo un script de shell y su código está disponible gratuitamente en GitHub.
1. Instalar n en Linux
La forma más sencilla de instalar n es a través de npm
. Como ya se indicó, Npm es el administrador de paquetes integrado para Nodejs y viene preinstalado con Nodejs.
Supongo que ya tiene la última versión de Nodejs en su máquina Linux. Si aún no ha instalado NodeJS, consulte la siguiente guía:
- Cómo instalar NodeJS en Linux
A continuación, ejecute el siguiente comando para instalar n en Linux:
$ npm install -g n
Si npm no está disponible o no desea instalar n con npm, puede obtener directamente el script n de GitHub e instalarlo como se muestra a continuación:
$ curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n
$ bash n lts
Esto instalará ambos node
su versión y npm
.
1.2. Crear directorio de inicio para la instalación del nodo
Por defecto, n instala node
en n/versions
subdirectorio de /usr/local/
directorio, que se define en el N_PREFIX
Variable ambiental. Como ya sabes, requerimos sudo
permiso para instalar el nodo en /usr/local/n/versions/node/
directorio. Para evitar usar sudo
, puede crear un directorio dedicado para la instalación de nodos en su $HOME y agregarlos a su PATH
.
Para crear un directorio de inicio para la instalación del nodo, edite su archivo de perfil de usuario, por ejemplo, ~/.bashrc
:
$ vi ~/.bashrc
Agregue las siguientes líneas:
export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATH
Presiona ESC
clave y escriba :wq
para guardar el archivo y salir.
1.3. Instale n con el script n-install
La otra forma de instalar n es a través de n-install script, que instala n directamente desde GitHub.
$ curl -L https://git.io/n-install | bash
Este comando realizará el siguiente conjunto de tareas:
- Primero, establece tanto
PREFIX
yN_PREFIX
a$HOME/n
; - Y, instala
n
a$HOME/n/bin
; - A continuación, modifica los archivos de inicialización de los shells admitidos para exportar
N_PREFIX
; - Luego, agrega
$HOME/n/bin
a laPATH
; - Finalmente, instala la última versión de LTS Node.js.
2. Administrar versiones de nodejs con n en Linux
¡Instalar y administrar versiones de nodejs con n es bastante fácil! Veamos algunos ejemplos.
2.1. Obtener ayuda
Si es nuevo en n, probablemente sea una buena idea abrir la sección de ayuda y aprender a usar n.
Para ver la sección de ayuda de n, simplemente ejecute:
$ n --help
Consulte el manual de ayuda para obtener una idea del uso de cada comando.
Usage: n [options] [COMMAND] [args]
Commands:
n Display downloaded Node.js versions and install selection
n latest Install the latest Node.js release (downloading if necessary)
n lts Install the latest LTS Node.js release (downloading if necessary)
n Install Node.js (downloading if necessary)
n install Install Node.js (downloading if necessary)
n run [args …] Execute downloaded Node.js with [args …]
n run [args …] Execute downloaded node with [args …]
n which Output path for downloaded node
n exec [args…] Execute command with modified PATH, so downloaded node and npm first
n rm Remove the given downloaded version(s)
n prune Remove all downloaded versions except the installed version
n --latest Output the latest Node.js version available
n --lts Output the latest LTS Node.js version available
n ls Output downloaded versions
n ls-remote [version] Output matching versions available for download
n uninstall Remove the installed Node.js
Options:
-V, --version Output version of n
-h, --help Display help information
-p, --preserve Preserve npm and npx during install of Node.js
-q, --quiet Disable curl output (if available)
-d, --download Download only
-a, --arch Override system architecture
--all ls-remote displays all matches instead of last 20
--insecure Turn off certificate checking for https requests (may be needed from behind a proxy server)
--use-xz/--no-use-xz Override automatic detection of xz support and enable/disable use of xz compressed node downloads.
Aliases:
install: i
latest: current
ls: list
lsr: ls-remote
lts: stable
rm: -
run: use, as
which: bin
Versions:
Numeric version numbers can be complete or incomplete, with an optional leading 'v'.
Versions can also be specified by label, or codename,
and other downloadable releases by /
4.9.1, 8, v6.1 Numeric versions lts Newest Long Term Support official release latest, current Newest official release auto Read version from file: .n-node-version, .node-version, .nvmrc, or package.json engine Read version from package.json boron, carbon Codenames for release streams lts_latest Node.js support aliases and nightly, rc/10 et al
2.2. Instalar versiones de Nodejs usando n
Para instalar la última versión de nodejs con n
, simplemente ejecute:
$ n latest
Salida de muestra:
installing : node-v16.2.0 mkdir : /home/ostechnix/.n/n/versions/node/16.2.0 fetch : https://nodejs.org/dist/v16.2.0/node-v16.2.0-linux-x64.tar.xz installed : v16.2.0 (with npm 7.13.0) Note: the node command changed location and the old location may be remembered in your current shell. old : /home/ostechnix/.nvm/versions/node/v16.1.0/bin/node new : /home/ostechnix/.n/bin/node To reset the command location hash either start a new shell, or execute PATH="$PATH"
La versión anterior del nodo se moverá a la nueva ubicación, es decir, /home/ostechnix/.n/bin/node
en mi caso. Abra una nueva sesión de shell o reinicie la sesión de Terminal para usar la versión de nodo desde la nueva ubicación.
Compruebe la versión del nodo instalado:
$ node --version v16.2.0
Comprobar la versión de npm:
$ npm -v 7.13.0
De manera similar, puede instalar una versión de nodo LTS usando n como a continuación:
$ n lts
Salida de muestra:
installing : node-v14.17.0 mkdir : /home/ostechnix/.n/n/versions/node/14.17.0 fetch : https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.xz installed : v14.17.0 (with npm 6.14.13)
También puede instalar una versión específica de Nodejs, por ejemplo 16.0.0
, usando el comando:
$ n 16.0.0
Como habrá notado, n crea directorios separados para cada versión de nodo. Por ejemplo, crea /home/ostechnix/.n/n/versions/node/16.2.0
directorio para la última versión del nodo, n/versions/node/14.17.0
para la versión LTS del nodo y n/versions/node/16.0.0
para la versión de nodo 16.0.0. De esta manera evita que cada versión se mezcle entre sí y podemos cambiar a cualquier versión en cualquier momento.
2.3. Descargar versiones de Nodejs, pero no instalar
Si no desea instalar una versión de Nodejs, sino solo descargarla, use -d
, --download
opción:
$ n -d 15.8.0
Este comando solo descargará la versión del nodo 15.8.0, pero no la instalará.
Salida de muestra:
installing : node-v15.8.0 mkdir : /home/ostechnix/.n/n/versions/node/15.8.0 fetch : https://nodejs.org/dist/v15.8.0/node-v15.8.0-linux-x64.tar.xz
2.4. Lista de versiones de Nodejs descargadas localmente
Para ver todas las versiones descargadas de Nodejs en su caché local, simplemente ejecute:
$ n ls
O,
$ n list
Salida de muestra:
node/14.17.0 node/15.8.0 node/16.0.0 node/16.2.0
2.5. Lista de versiones de Nodejs disponibles desde el repositorio remoto
Podemos usar ls-remote
opción para ver las 20 versiones recientes de Nodejs desde el registro npm .
$ n ls-remote
O,
$ n lsr
Salida de muestra:
Listing remote… Displaying 20 matches (use --all to see all). 16.2.0 16.1.0 16.0.0 15.14.0 15.13.0 15.12.0 15.11.0 15.10.0 15.9.0 15.8.0 15.7.0 15.6.0 15.5.1 15.5.0 15.4.0 15.3.0 15.2.1 15.2.0 15.1.0 15.0.1
La versión más reciente se mostrará en la parte superior.
De forma predeterminada, enumera 20 versiones. También puede mostrar una cierta cantidad de versiones de nodos.
$ n lsr 10
Para listar todas las versiones de nodejs disponibles, use --all
opción.
$ n ls-remote --all
2.6. Muestra la ruta de la versión descargada de Nodejs
Para imprimir la ruta completa de una versión de nodo descargada específica, ejecute:
$ n which node/16.2.0
Salida de muestra:
/home/ostechnix/.n/n/versions/node/16.2.0/bin/node
2.7. Cambiar versiones de Nodejs
La última versión instalada será la versión de nodo predeterminada. Si desea cambiar a una versión diferente, escriba n
y elija una versión de la lista de versiones de nodos descargados.
$ n
Este comando mostrará todas las versiones de nodejs descargadas. Puede elegir la versión requerida usando las flechas arriba/abajo y presionar la tecla ENTER para instalarla.
node/14.17.0 node/15.8.0 ο node/16.0.0 node/16.2.0 Use up/down arrow keys to select a version, return key to install, d to delete, q to quit
La versión predeterminada se indica con un pequeño círculo delante de ella.
Si no desea descargar una versión específica de nodejs, simplemente selecciónela y presione d
para eliminarlo. Para salir, presiona q
.
2.8. Ejecutar la versión descargada de Nodejs
Como ya se indicó, la última versión instalada es la versión de nodo predeterminada. Si desea ejecutar una versión diferente sin configurarla como predeterminada, puede usar este comando:
$ n run 15.8.0
Salida de muestra:
Welcome to Node.js v15.8.0. Type ".help" for more information. >
Presiona Ctrl+D
o escribe .exit
para salir del indicador de nodo.
2.9. Quitar las versiones de Nodejs descargadas
Enumere cuántas versiones de nodos se descargan con el comando:
$ n ls
Para eliminar una versión específica, simplemente mencione su número de versión como se muestra a continuación:
$ n rm node/16.0.0
Alternativamente, escriba n
para ver las versiones de nodos disponibles:
$ n
Seleccione la versión que desea eliminar usando las flechas arriba/abajo y presione d
para eliminarlo. Debe tener cuidado al eliminar una versión de nodo. Porque no se le pedirá que confirme la eliminación. Una vez que presionas la d
clave, la versión seleccionada desaparecerá.
Para eliminar todas las versiones descargadas excepto la versión instalada, ejecute:
$ n prune
Para eliminar por completo la versión instalada de Nodejs, ejecute:
$ n uninstall
Se le preguntará si desea eliminar tanto Node como Npm de su sistema. Escribe y
y presiona ENTER
clave para eliminar completamente node
y npm
instalado por n
de su sistema.
Do you wish to delete node and npm from /home/ostechnix/.n? y Uninstalling node and npm /home/ostechnix/.n/bin/node /home/ostechnix/.n/bin/npm /home/ostechnix/.n/bin/npx /home/ostechnix/.n/include/node /home/ostechnix/.n/lib/node_modules/npm /home/ostechnix/.n/share/doc/node /home/ostechnix/.n/share/man/man1/node.1 /home/ostechnix/.n/share/systemtap/tapset/node.stp
Sin embargo, esto no eliminará la versión de nodo instalada usando NVM o su administrador de paquetes de distribución. Solo eliminará las versiones de nodo que estén instaladas con n.
Conclusión
El script n será útil cuando desee utilizar una versión diferente de Nodejs para un proyecto diferente. No necesita eliminar una versión de Nodejs e instalar otra para cada proyecto. Puede instalar varias versiones de Nodejs y cambiar instantáneamente de una versión de Nodejs a otra.