Saltar al contenido

Las banderas que importan

Del catálogo de opciones del CLI, las ocho que se usan de verdad: elegir configuración, destino, features y formatos, compilar sin empaquetar, y las dos que sirven para diagnosticar cuando algo no cuadra.

Las cuatro del qué

--config (-c) — una configuración extra que se fusiona encima de la base, con las mismas reglas del nivel 8.4. Acepta una ruta de fichero o JSON en línea:

Shell
# un canal de pruebas, sin tocar el fichero basebun run tauri build -c src-tauri/tauri.beta.conf.json# o un cambio puntual, en líneabun run tauri build -c '{"bundle":{"targets":["nsis"]}}'

Es la bandera más útil de las ocho, porque convierte «edito la configuración, compilo, deshago la edición» en una orden que se puede meter en un script. Y con las reglas de fusión en la cabeza: las listas se sustituyen enteras.

--target — el triple de destino, para compilar para otra arquitectura:

Shell
bun run tauri build --target aarch64-apple-darwin

Sirve para producir un binario de otra arquitectura del mismo sistema operativo —el caso típico es generar las dos variantes de macOS desde una sola máquina—. Cruzar de sistema operativo no es realista: cada uno necesita sus propias bibliotecas y su propio enlazador.

--features (-f) — activa features de Cargo en esta compilación:

Shell
bun run tauri build -f telemetria

Sirve para lo que el nivel 6.2 pedía: mantener una feature apagada por defecto y encenderla solo en las compilaciones donde tenga sentido, en vez de tenerla siempre en el manifiesto.

--bundles (-b) — los formatos de esta compilación, sin tocar la lista de la configuración:

Shell
bun run tauri build -b dmg

Útil en integración continua: la configuración declara lo que soportas, y cada trabajo genera solo lo suyo.

Las cuatro del cómo

--no-bundle — compila y no empaqueta. Es la comprobación rápida: verifica que todo compila sin gastar el tiempo de generar instaladores. En un trabajo de verificación de integración continua es la diferencia entre minutos y muchos minutos.

--debug (-d) en build — empaqueta con el perfil de depuración: con símbolos, sin optimizaciones y con las herramientas de desarrollo activas. Sirve para lo que el nivel 10 llama el ensayo general: reproducir un fallo que solo aparece en producción, pero con algo con lo que trabajar dentro.

--verbose (-v) — más salida. Se puede repetir para más detalle todavía. Es lo primero que hay que añadir cuando un error del empaquetado no dice nada útil, que es a menudo.

--no-watch en dev — no reiniciar la aplicación al cambiar el código de Rust. Suena inútil y no lo es: cuando estás depurando un problema de arranque y necesitas que la aplicación se quede quieta mientras miras otra cosa, el reinicio automático estorba.

Las combinaciones que se usan

Las variables de entorno

Hay un puñado que el CLI y el código leen, y tres importan:

  • Las claves de firma del updater se pasan por variables de entorno, no por bandera ni por fichero. Es lo que permite que la integración continua firme sin que la clave toque el disco del repositorio. Nivel 64.
  • Las variables del entorno de compilación —la plataforma, la arquitectura, si es una compilación de depuración— las expone el CLI para que las lea build.rs o un script propio. Sirven para incrustar información que dependa del destino.
  • El identificador de destino aparece también en la resolución de los binarios externos del nivel 8.2, que es de donde sale su regla de nombres.