Usar Node.js y pnpm en Linux sin sudo usando nvm
Cómo trabajar con Node.js y pnpm en Linux sin usar sudo, usando nvm como única herramienta recomendada
Última actualización: 2026-01-16
La forma recomendada de usar Node.js en Linux sin sudo es mediante nvm, ya que permite gestionar versiones de forma aislada y evita conflictos con el sistema; para la gestión de dependencias, pnpm es la opción moderna y recomendada. A continuación se muestra cómo configurarlos y usarlos correctamente sin comprometer la seguridad ni ensuciar el entorno del sistema.
Tabla de Contenido
- Instalar Node.js usando nvm
- Instalar paquetes con npm
- Instalar y activar pnpm
- Sobre el uso de npm install -g
- Conclusión
- Fuentes
Instalar Node.js usando nvm
nvm (Node Version Manager) permite:
- Instalar múltiples versiones de Node.js
- Cambiar de versión por proyecto
- Evitar completamente el uso de
sudo - Mantener Node.js aislado del sistema
Paso 1. Instalar nvm
Revisa siempre la última versión en el repositorio oficial:
Usando curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
Usando wget
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/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: Si usas zsh, el script de instalación puede no agregar la configuración automáticamente. Además, si tras la instalación nvm no está disponible o command -v nvm no devuelve salida, basta con abrir una nueva terminal o recargar el perfil del shell usando los comandos correspondientes:
source ~/.bashrc
# o
source ~/.zshrc
Paso 2. Verificar la instalación
Para verificar que nvm se ha instalado correctamente:
command -v nvm
Paso 3. Instalar nodejs
Instalar la versión LTS (recomendado):
nvm install --lts
nvm use --lts
Instalar la última versión disponible:
nvm install node # "node" es un alias para la últma versión
Instalar una versión específica:
nvm install 18.19.0 # o 16.3.0, 12.22.1, etc
Listar versiones disponibles:
nvm ls-remote
Nota: Más información en el sitio de nvm-sh
Instalar paquetes con npm
En lugar de instalar paquetes de forma global, la forma recomendada de usar npm es instalarlos como dependencias del proyecto. De esta manera, las herramientas quedan versionadas, no dependen del entorno global y no requieren sudo.
Para instalar un paquete como dependencia del proyecto:
npm install nombre_paquete
O como dependencia de desarrollo:
npm install --save-dev nombre_paquete
Instalar y activar pnpm
pnpm es un gestor de paquetes moderno que:
- Usa menos espacio en disco
- Es mucho más rápido que npm
- Evita duplicación de dependencias
Activar pnpm con corepack (recomendado)
Desde Node.js 16+, corepack ya viene incluido.
corepack enable
corepack prepare pnpm@latest --activate
Verificar:
pnpm --version
Usar pnpm
Instalar dependencias:
pnpm install
Agregar dependencias:
pnpm add react
Ejecutar scripts:
pnpm dev
pnpm NO requiere sudo, ni configuraciones adicionales cuando se usa con nvm.
Sobre el uso de npm install -g
El uso de npm install -g es válido, pero introduce estado global fuera del proyecto, por lo que normalmente se reserva para herramientas generales y no para dependencias específicas de un proyecto.
Conclusión
- nvm permite gestionar versiones de Node.js de forma aislada en Linux y evita conflictos con el sistema.
- npm sigue siendo un gestor de paquetes válido y soportado oficialmente por el ecosistema Node.js.
- pnpm es una alternativa moderna que optimiza espacio en disco y tiempos de instalación.
- Instalar Node.js a nivel de usuario evita depender de los paquetes de la distribución.
- El uso de
sudoy las instalaciones globales (npm install -g) debería limitarse a casos muy concretos.
Mantén tu entorno limpio, reproducible y seguro.