Saltar al contenido

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 doctor avisaba 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:

  1. Al volver a conectarme, ssh mac dio timeout. Ya conté en el post 04 que la causa fue una IP nueva.
  2. 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_vers devolvió 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

  1. 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)

  2. 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.

  3. 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_vers hoy, no lo anotado ayer.
  • Las Command Line Tools quedaron obsoletas. brew doctor avisó “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 mac dio Connection timed out: ver 04-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)
macOS15.3.1 (24D70)27.0.1 (26A434)
Claude Code2.1.2892.1.289
Homebrew7.0.77.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

  1. ¿Qué versión de macOS pedía la ficha de Xcode 27.0?
    RespuestamacOS 26.6 o posterior.
  2. La bitácora dice 15.3.1 y sw_vers dice 27.0.1. ¿A cuál le haces caso?
    RespuestaA `sw_vers`: es la medición actual; la bitácora es de antes de actualizar.
  3. Después de actualizar, brew doctor se queja de las Command Line Tools. ¿Qué haces?
    RespuestaInstalar la actualización de las CLT desde Ajustes → General → Actualización de software.
Se guarda solo en este navegador.