Instalar globalmente paquetes node.js sin usar sudo

Instalar globalmente paquetes node.js sin usar sudo

En Linux, para lograr que un paquete de node se instale usando el npm paquete -g sin necesidad de usar sudo, hay dos opciones que me gustan.

Tabla de Contenido

Método 1. Instalación local de nodejs a través de NVM

Este es mi método favorito, ya que me permite tener diferentes versiones de nodejs instaladas.

Paso 1. Instalar nvm

Se usa el script de instalación de nvm-sh para instalar o actualizar nvm, bien sea a través de curl o wget. Revisar la última versión disponible en nvm-sh ya que puede haber cambiado

Usando curl:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

Usando wget:

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

Al ejecutar cualquiera de los comandos anteriores, se descarga un script y se ejecuta. El script clona el repositorio nvm en ~/.nvm e intenta agregar las líneas fuente del fragmento siguiente al archivo de perfil correcto (~/.bash_profile, ~/.zshrc, ~/.profile o ~/.bashrc).

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

Nota: En el caso de estar usando zsh, he visto que el script no agrega las instrucciones automáticamente (sólo lo hace en bash), así que es mejor agregar las líneas anteriores al archivo ~/.zshrc.

Paso 2. Verificar la instalación

Para verificar que nvm se ha instalado correctamente:

command -v nvm

NOTA: En Linux, después de ejecutar el script de instalación, se obtiene nvm: comando no encontrado o no se obtiene información en la terminal al escribir command -v nvm, simplemente se cierra la terminal actual, se abre una nueva terminal y se verifica nuevamente. Alternativamente, puede recargar el perfil ejecutando los siguientes comandos para los diferentes shells en la línea de comandos:

bash: source ~/.bashrc
zsh: source ~/.zshrc

Paso 3. Instalar nodejs

La última versión:

nvm install node # "node" es un alias para la últma versión

La última stable:

nvm install --lts # "node" es un alias para la últma versión

Para instalar una versión específica de node:

nvm install 14.7.0 # o 16.3.0, 12.22.1, etc

Para usar una versión de node instalada (ej: la LTS):

nvm use --lts

Para ver una lista de las versiones disponibles se usa ls-remote:

nvm ls-remote

Nota: Más información en el sitio de nvm-sh

Método 2. Instalación global de nodejs

Paso 1. Instalar de nodejs

Se debe tener instalado node y npm, para lo cual revisamos la versión:

node --version
npm --version

En caso de no tenerlo instalado usar la instalación recomenda para la distribución que se este usando. Para Manjaro/Arch Linux derivadas:

sudo pacman -S nodejs npm

Paso 2. Configurar el usario local

Crear en el directorio de usuario, un directorio para almacenar las instalaciones globales

mkdir ~/.npm-global

Configurar npm para que use la ruta del nuevo directorio:

npm config set prefix '~/.npm-global'

Buscar el archivo ~/.bashrc y agregar la siguiente línea

# Configuración paquetes globales en nodejs
export PATH="$HOME/.npm-global/bin:$PATH"

Actualizar las variables del sistema con la nueva configuracion

source ~/.bashrc

Instalar usando npm install -g

Independiente del método de instalación elegido para npm, en este punto ya se puede probar la nueva configuración y no será necesario usar sudo porque la instalación global de paquetes de npm se realizará en la carpeta de usuario.

npm install -g nombre_paquete_a_instalar

Actualizar los paquetes usando npx

Para acutalizar los paquetes instalados usando npm install -g:

npx npm-check-updates -g

Y Listo!

Fuentes:


Gracias

¡Gracias a todos! Sus aportes lo hacen posible. Si desea ayudar y apoyarnos a crear mejor contenido, puede hacer su donativo a través de paypal:

Algunos derechos reservados

Compartir en Redes sociales

A continuación

Cambiar el nombre de usuario en Debian/Ubuntu Linux

Handbrake en Linux

Buscar archivos en la terminal de Linux

Relacionado


¿Músico?

Si desea conocer sobre mi actividad musical lo invito a que visite la página principal. Allí encontrará todo sobre mi música.