Seguimos con la etapa de lenguajes, ahora del lado de Mac. En este artículo vas a aprender exactamente cómo instalar Node.js en macOS con nodenv: varias versiones conviviendo, una global para tu equipo y la de cada proyecto fijada en su carpeta.
Es la misma filosofía que vimos el sábado en Ubuntu, pero con las particularidades de macOS: aquí nodenv se instala con Homebrew y la configuración del shell se reparte entre ~/.zprofile y ~/.zshrc. Ese reparto no es capricho, y te explico el porqué en su paso.
El problema de instalar Node “a secas” (con el instalador oficial o brew install node) es que te casa con una sola versión global. Me pasó con un proyecto heredado: llevaba años clavado en una versión vieja de Node, y actualizar el global de la máquina lo rompía; mantener las dos cosas a mano era un malabar diario. El día que un proyecto pida otra versión, tocará desinstalar y reinstalar. Con nodenv, cambiar de versión es un comando.
Vamos a ver:
- Instalar nodenv con Homebrew.
- Configurar
~/.zprofiley~/.zshrccorrectamente. - Instalar versiones de Node.js y elegir la global.
- Fijar la versión por proyecto con
.node-version.
Al final tendrás un entorno Node.js limpio, replicable y sin conflictos entre proyectos.
Esta guía asume que ya tienes Homebrew instalado. Si no, empieza por Setup macOS para desarrollo profesional.
Tabla de contenidos
Tabla de contenidos
Paso 1: Instala nodenv con Homebrew
Actualiza las fórmulas e instala:
brew update
brew install nodenv
Es la forma que recomienda la documentación oficial de nodenv para macOS, y trae la ventaja de siempre: se actualiza junto al resto de tus herramientas.
Paso 2: Configura tu shell
En macOS con zsh, mi práctica es repartir la configuración en dos archivos: el PATH en ~/.zprofile (se carga al iniciar sesión) y la inicialización de nodenv en ~/.zshrc (se carga en cada terminal interactiva).
Primero el PATH:
echo '' >> ~/.zprofile
echo '# PATH de nodenv' >> ~/.zprofile
echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.zprofile
echo 'export PATH="$HOME/.nodenv/plugins/node-build/bin:$PATH"' >> ~/.zprofile
Con Homebrew, el comando nodenv ya está en tu PATH y estas líneas no son estrictamente necesarias: cubren el caso de instalar nodenv o node-build por git (como hacemos en la versión de Ubuntu) y no estorban tenerlas. Así el mismo .zprofile te sirve en cualquier máquina.
Luego la inicialización:
echo '' >> ~/.zshrc
echo '# Inicialización de nodenv' >> ~/.zshrc
echo 'eval "$(nodenv init - zsh)"' >> ~/.zshrc
Recarga la configuración (o cierra y abre la terminal):
source ~/.zprofile
source ~/.zshrc
Verifica que quedó activo:
nodenv --version
Paso 3: Asegura node-build
nodenv install no viene incluido en nodenv: lo aporta el plugin node-build. Prueba si ya lo tienes:
nodenv install -l
Si responde con una lista de versiones, sigue al próximo paso. Si dice que install no existe, instálalo como plugin:
git clone https://github.com/nodenv/node-build.git "$(nodenv root)"/plugins/node-build
Y vuelve a probar el comando anterior.
Paso 4: Instala Node.js y define la versión global
Consulta las versiones estables recientes:
nodenv install -l
Instala la que necesites (usa la LTS más reciente de la lista) y déjala como predeterminada:
nodenv install 24.1.0
nodenv global 24.1.0
nodenv rehash
installdescarga la versión (puede tardar unos minutos).globalla deja como predeterminada; nodenv la guarda en~/.nodenv/version.rehashregenera los accesos anode,npmynpx; ejecútalo después de instalar versiones o paquetes globales.
Verifica:
node -v
npm -v
nodenv version
Paso 5: Fija la versión por proyecto
La verdadera razón de usar nodenv. Dentro de la carpeta de un proyecto:
cd mi-proyecto
nodenv local 24.1.0
Esto crea un archivo .node-version: cada vez que entres a esa carpeta, nodenv activa esa versión automáticamente. Quien clone el repo trabaja con la misma versión que tú, sin acordar nada.
Instala los paquetes globales sin sudo: con nodenv todo vive en tu carpeta personal. Por ejemplo, npm install -g pnpm. Puedes confirmar dónde se instalan con npm prefix -g.
Solución de problemas comunes
nodenv: command not found
Revisa que las líneas del Paso 2 quedaron en los archivos correctos y reinicia la terminal.
nodenv install no existe
Falta node-build: vuelve al Paso 3.
Instalé algo y el comando no aparece
Es el caso clásico de los shims:
nodenv rehash
Mantenimiento
Actualizar nodenv (instalado con Homebrew):
brew update && brew upgrade nodenv
Si instalaste node-build por git, actualízalo con git pull en su carpeta. Y para eliminar una versión que ya no uses:
nodenv uninstall 24.1.0
Conclusión
Con nodenv sobre Homebrew, una versión global sensata y .node-version en cada proyecto, tu Mac maneja Node.js igual que tus otros entornos: limpio, replicable y sin conflictos entre proyectos.
Si esto te fue útil, el artículo relacionado es el paso lógico: Cómo instalar y configurar Node.js en Ubuntu con nodenv, la versión de esta guía para Ubuntu y WSL.
La próxima semana sigo con la serie: Python con pyenv, la misma filosofía aplicada al segundo lenguaje. Si no te lo quieres perder, suscríbete al newsletter en la portada del blog.