Lección 07 · 24 en la ruta · 3 min de lectura · Nivel 0
Actualizar macOS
macOS 15.3.1 a 27.0.1 y qué cambió
La historia detrás de esta lección Actualizar macOS y dejar de confiar en el número que anoté ayer
Este es el post más corto de la serie porque la actualización en sí fue un trámite. Lo que valió la pena fue lo que reveló sobre mis propios apuntes. Los pasos están en actualizar macOS.
Por qué había que actualizar
Dos señales apuntaban en la misma dirección:
brew doctoravisaba que las Command Line Tools estaban demasiado desactualizadas. Se arregla desde Actualización de software.- En la App Store, Xcode me pidió una versión de macOS más nueva que la que tenía. La captura muestra a Xcode 27 pidiendo macOS 26.6.
Mi plan de arranque ya incluía actualizar macOS y correr xcode-select --install, en ese orden: primero el sistema, luego las herramientas de línea de comandos. Es el orden que seguí; no probé el inverso.
Qué pasó al terminar
Dos cosas, ninguna grave:
- Al volver a conectarme,
ssh macdio timeout. Ya conté en el post 04 que la causa fue una IP nueva. - Los apuntes manuales que había tomado decían que la Mac tenía macOS 15.3.1. Cuando después hice el inventario por comando,
sw_versdevolvió 27.0.1.
Ese segundo punto es el que me interesa. No tengo registrado paso por paso cómo fue el salto entre una versión y otra: lo que tengo es la captura de la descarga de macOS 27.0.1 y los dos números, el de mis apuntes y el medido. Lo honesto es decir eso: mis notas se quedaron atrás de la máquina.
La regla que saqué
En la guía, el paso de inventario se hace con un solo comando desde Windows:
ssh mac 'sw_vers; uname -m; df -h /; brew --version; claude --version'
Y la tabla de versiones sale de esa salida, no de la memoria. Lo dejé escrito como nota en la propia guía: manda lo que dice sw_vers hoy, no lo que se anotó ayer.
Hay un caso parecido con el disco. Medí 111 GiB libres con df y 119,1 GB con diskutil. No es un error: df cuenta en GiB (1024³) y diskutil en GB (1000³), y además mira el contenedor APFS completo. Son la misma realidad medida de dos maneras. Pero si hubiera anotado solo una cifra de memoria, la siguiente persona que mida no entendería por qué no coincide.
Mi objetivo para el disco es más de 150 GB libres, y todavía no lo cumplo: Xcode, las cachés de Homebrew y Node, y los proyectos de Blender crecen rápido. Ese pendiente sigue abierto.
Qué haría distinto
- Actualizar el sistema antes de instalar nada que dependa de las Command Line Tools, como ya indicaba mi plan.
- Anotar la IP de la Mac antes de reiniciarla, o tener lista la reserva en el módem.
- No escribir versiones a mano en documentos que otras personas van a leer: generarlas con un comando y fechar la salida.
Lo que me llevo
Un inventario sin fecha ni comando es una opinión. Con las dos cosas, es una medición.
Siguiente: el kit de configuración de Claude Code en la Mac, con sus pruebas en dos versiones de bash.
Objetivo
Pasar la Mac de macOS 15.3.1 a una versión que admita Xcode 27, y comprobar después, por SSH, que las herramientas del paso 02 siguen respondiendo.
Por qué
Una actualización mayor de macOS toca todo lo que está debajo de tus herramientas: el sistema, las Command Line Tools, la red. Por eso conviene saber antes qué cambia y tener un comando que lo mida después. Aquí el motivo de actualizar fue concreto: la ficha de Xcode en la App Store exige una versión mínima de macOS.
Pasos
-
Ver el requisito. En la App Store, la ficha de Xcode (versión 27.0) dice “Requires macOS 26.6 or later”.
(captura del entorno real: no se publica; ver docs/CAPTURAS.md para las del modo demo)
-
Ajustes del Sistema → General → Actualización de software (Software Update). La captura muestra “Downloading macOS 27.0.1…” con la barra de progreso. Es un paso a mano (el owner, con la interfaz gráfica; una actualización mayor reinicia la Mac).
(captura del entorno real: no se publica; ver docs/CAPTURAS.md para las del modo demo)
Las fuentes no explican por qué se instaló 27.0.1 y no 26.6, el mínimo que pedía Xcode.
-
Cuando la Mac vuelva, actualizar también las Command Line Tools (el mismo panel de actualización de software las ofrece; ver “Qué salió mal”).
Qué salió mal de verdad
- Discrepancia de versión entre bitácora y realidad. Los apuntes manuales dicen
macOS 15.3.1 (build 24D70); el comando en vivo, más tarde, dijo 27.0.1 (build 26A434).
La Mac se había actualizado entre una cosa y otra. Regla: manda lo que imprime
sw_vershoy, no lo anotado ayer. - Las Command Line Tools quedaron obsoletas.
brew doctoravisó “Your Command Line Tools are too outdated” (registrado en el HANDOFF de la sesión 1). El arreglo es instalar la actualización de las CLT desde Actualización de software; en la sesión de la corrida nocturna el owner indicó que “las Command Line Tools se están actualizando”. - Efecto colateral en la red. Tras la actualización, la IP de la Mac cambió y
ssh macdio Connection timed out: ver04-red-y-dhcp.md. Las fuentes no prueban que la actualización causara el cambio; solo que ocurrió después.
Cómo verificar
Mismo comando antes y después, desde Windows:
PS> ssh mac 'sw_vers; claude --version; brew --version'
| Antes (bitácora) | Después (sw_vers en vivo, 2026-10-04) | |
|---|---|---|
| macOS | 15.3.1 (24D70) | 27.0.1 (26A434) |
| Claude Code | 2.1.289 | 2.1.289 |
| Homebrew | 7.0.7 | 7.0.7 |
Las herramientas instaladas no cambiaron de versión con la actualización (Homebrew y Claude Code iguales antes y después) y respondieron por SSH.
Pendiente de comprobar tras actualizar, porque las fuentes no lo registran: que brew doctor ya
no avise de las CLT, y que Deskflow reconecte solo (01-deskflow.md).
Autoevaluación
- ¿Qué versión de macOS pedía la ficha de Xcode 27.0?
Respuesta
macOS 26.6 o posterior. - La bitácora dice 15.3.1 y
sw_versdice 27.0.1. ¿A cuál le haces caso?Respuesta
A `sw_vers`: es la medición actual; la bitácora es de antes de actualizar. - Después de actualizar,
brew doctorse queja de las Command Line Tools. ¿Qué haces?Respuesta
Instalar la actualización de las CLT desde Ajustes → General → Actualización de software.