Saltar al contenido principal
Node.js

Solución: Error EACCES permission denied en npm install

npm no puede instalar paquetes por permisos insuficientes en Mac o Linux. Solución correcta sin usar sudo npm install.

Error: EACCES: permission denied (npm install)

¿Por qué ocurre?

npm intenta escribir en un directorio del sistema (normalmente /usr/local/lib/node_modules) que pertenece a root. Suele ocurrir cuando se instaló Node.js directamente con el instalador oficial o con apt/brew de forma global, en lugar de usar un gestor de versiones como nvm.

Solución paso a paso

Solución recomendada — usar nvm (evita el problema de raíz):

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

# Recarga el shell source ~/.bashrc # o ~/.zshrc si usas zsh

# Instala Node.js con nvm nvm install --lts nvm use --lts

# Ahora npm install funciona sin sudo npm install -g nombre-paquete

Solución alternativa — cambiar el directorio de npm globales:

# Crea un directorio para paquetes globales en tu home
mkdir -p ~/.npm-global

# Configura npm para usarlo npm config set prefix '~/.npm-global'

# Añade al PATH (en ~/.bashrc o ~/.zshrc): export PATH=~/.npm-global/bin:$PATH

# Recarga el shell source ~/.bashrc

# Ahora instala sin sudo npm install -g nombre-paquete

Si necesitas solución urgente (no recomendado para producción):

# Cambia el propietario del directorio de npm a tu usuario
sudo chown -R $(whoami) ~/.npm
sudo chown -R $(whoami) /usr/local/lib/node_modules

NUNCA hagas esto:

# ❌ Instala con sudo — crea más problemas de permisos
sudo npm install -g nombre-paquete

Cómo evitarlo en el futuro

Instala Node.js con nvm en lugar del instalador oficial. nvm instala Node en tu directorio home (~/.nvm) donde siempre tienes permisos. Nunca uses sudo con npm — indica que la instalación base tiene permisos incorrectos y el parche empeora el problema.

Node.jsErrornpm

¿Quieres que una IA te ayude? Genera el prompt perfecto para tu error:

Generador de Prompts

¿Necesitas desarrollo a medida?

Apps web, IA, módulos ERP — cuéntame tu proyecto.