Saltar al contenido

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.

Shell
# 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 --version

En 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:

Shell
xcode-select --install

Eso 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:

Shell
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ón

En 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.1 de WebKitGTK, no la 4.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:

Shell
# Dentro de un proyecto ya creadobun run tauri info

Antes de eso, la comprobación mínima es que cargo --version responde y que tu gestor de paquetes de JavaScript está instalado.