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

Cambio de resolución de Pantalla en Guest OS sobre QEMU

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.