Los prerequisitos, plataforma por plataforma
Lo que hay que instalar antes de escribir una línea: la cadena de herramientas de Rust y las dependencias nativas de cada sistema, que es donde se atasca casi todo el mundo la primera tarde.
Lo común: la cadena de herramientas de Rust
En las tres plataformas, lo primero es lo mismo. rustup es el gestor de versiones de Rust, y lo que instala son tres cosas: el compilador, cargo —que es a la vez el gestor de paquetes y el que orquesta la compilación— y la biblioteca estándar para tu plataforma.
# La forma oficial de instalarlo en macOS y Linuxcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh# Comprobar. Los dos deben responder.rustc --versioncargo --versionEn Windows se descarga el instalador de rustup desde su sitio, que además comprueba las herramientas de compilación de Microsoft y ofrece instalarlas.
macOS
Solo hace falta una cosa más, y es la que trae el compilador de C y los encabezados del sistema:
xcode-select --installEso instala las herramientas de línea de comandos de Xcode. No hace falta Xcode entero para escritorio; sí hará falta para compilar para iOS, y eso es la fase XIII.
El motor de webview ya está en el sistema y no se instala: es parte de macOS.
Windows
Dos piezas, y la segunda casi siempre ya está:
Las herramientas de compilación de C++ de Microsoft. Rust en Windows usa el enlazador de Microsoft por defecto, así que necesita el conjunto de herramientas de compilación. Se instalan desde el instalador de Visual Studio eligiendo la carga de trabajo de desarrollo de escritorio con C++; no hace falta el entorno de desarrollo completo, solo las herramientas de compilación.
WebView2. Viene preinstalado en las versiones recientes de Windows. Si trabajas con una versión antigua, se instala con el instalador ligero que publica Microsoft. Ojo con esto de cara a la distribución: el nivel 59 trata qué hacer cuando el usuario no lo tiene.
Linux
Es donde la lista es más larga, porque aquí sí se enlaza contra bibliotecas del sistema que no vienen de serie. Para una distribución basada en Debian:
sudo apt install \ libwebkit2gtk-4.1-dev \ # el motor de webview: lo más importante build-essential \ # gcc, make y compañía curl wget file \ libxdo-dev \ # simular entrada: atajos globales y automatización libssl-dev \ # TLS para las peticiones que haga tu core libayatana-appindicator3-dev \ # el icono de bandeja librsvg2-dev # convertir SVG: los iconos de la aplicaciónEn otras familias de distribución los nombres cambian pero las piezas son las mismas: el desarrollo de WebKitGTK, las herramientas de compilación, el indicador de aplicación y la conversión de SVG. La documentación oficial mantiene la lista por distribución y conviene consultarla en lugar de adivinar.
Dos avisos que ahorran una tarde:
- Es la versión
4.1de WebKitGTK, no la4.0. Tauri 2 usa la 4.1; la 4.0 era la de Tauri 1. Instalar la equivocada produce un error de que no se encuentra el paquete, en una etapa donde nadie mira la versión. - Son los paquetes
-dev. Las bibliotecas de ejecución ya están instaladas porque las usa tu escritorio; lo que falta son los encabezados para compilar contra ellas.
Los errores que produce cada ausencia
Aprender a leerlos ahorra buscar a ciegas:
| lo que falta | lo que ves |
|---|---|
| las herramientas de compilación de C | linker 'cc' not found, o en Windows un error sobre link.exe |
libwebkit2gtk-4.1-dev |
el sistema de configuración de paquetes se queja de no encontrar webkit2gtk-4.1 |
libssl-dev |
un error al compilar la dependencia de OpenSSL, con mucha salida y poca pista |
librsvg2-dev |
falla al generar los iconos, normalmente al empaquetar y no al desarrollar |
libayatana-appindicator3-dev |
falla solo si activas la bandeja del sistema, así que aparece semanas después |
El patrón común: son errores del enlazador o del sistema de configuración de paquetes, no errores de Rust. Cuando la salida menciona pkg-config, -l seguido de un nombre de biblioteca, o linker, el problema está en esta lista y no en tu código.
Comprobar antes de crear el proyecto
Cuando el proyecto exista, el CLI de Tauri trae un subcomando que audita el entorno y dice qué falta y qué versión hay de cada cosa. Es lo primero que hay que ejecutar ante cualquier problema de instalación, y lo primero que te van a pedir si preguntas en un foro:
# Dentro de un proyecto ya creadobun run tauri infoAntes de eso, la comprobación mínima es que cargo --version responde y que tu gestor de paquetes de JavaScript está instalado.