Schnellstart
Quelldateien
Diese Seite wurde aus den folgenden Quelldateien erstellt:
Tauri ist ein Framework zur Erstellung kleiner, extrem schneller Binärdateien für alle wichtigen Desktop-Plattformen. Entwickler können beliebige Frontend-Frameworks integrieren, die zu HTML, JS und CSS kompilieren, um die Benutzeroberfläche zu erstellen. Das Backend der Anwendung ist ein Rust-basiertes Binary mit einer API, mit der das Frontend interagieren kann (README.md:12-18).
Tauri Projekt erstellen
Die schnellste Methode zum Starten eines Tauri-Projekts ist die Verwendung von create-tauri-app. Dieses Tool generiert ein vorkonfiguriertes Projektgerüst mit allen notwendigen Dateien und Einstellungen.
Der empfohlene Befehl mit npm lautet:
sh1npm create tauri-app@latest
Dieser Befehl interaktiv durch den Projekt-Erstellungsprozess und fragt nach:
- Projektnamen
- Frontend-Framework (z.B. React, Vue, Svelte, Vanilla)
- Paketmanager (npm, pnpm, yarn, bun)
Nach Abschluss erstellt das Tool eine vollständige Projektstruktur mit:
- Frontend-Verzeichnis mit dem gewählten Framework
src-tauriVerzeichnis mit Rust-Backend-Code- Vorkonfigurierte
tauri.conf.json(crates/tauri-cli/templates/app/src-tauri/tauri.conf.json:1-1)
CLI Installation
JavaScript/TypeScript CLI
Das @tauri-apps/cli Package ist ein in TypeScript geschriebener Node.js-Runner für häufige Tauri-Aufgaben wie pnpm tauri dev. Es fungiert als Wrapper um das native Rust CLI (packages/cli/README.md:24-28).
Die bevorzugte Methode ist die lokale Installation als Entwickler-Abhängigkeit:
bash1# Mit pnpm 2pnpm add -D @tauri-apps/cli 3 4# Mit yarn 5yarn add -D @tauri-apps/cli 6 7# Mit npm 8npm add -D @tauri-apps/cli
(packages/cli/README.md:30-38)
Das CLI Package unterstützt die Paketmanager npm, pnpm, yarn und bun. Die aktuelle Version wird über npm verteilt und folgt der semantischen Versionierung 2.0 (packages/cli/README.md:1-16, packages/cli/README.md:40-42).
Rust CLI Alternative
Für Entwickler, die eine native Rust-Lösung bevorzugen, bietet tauri-cli ein Rust-Executable mit vollständiger Schnittstelle zu allen CLI-Aktivitäten. Es läuft auf macOS, Windows und Linux (crates/tauri-cli/README.md:24-28).
Installation mit Cargo:
bash1cargo install tauri-cli
Verwendung:
bash1cargo tauri dev
Das Rust CLI bietet dieselben Funktionen wie das JavaScript-Pendant, erfordert jedoch eine Rust-Entwicklungsumgebung (crates/tauri-cli/README.md:18-23).
Voraussetzungen und Plattformen
Systemanforderungen
Vor der Projekt-Erstellung müssen die systemspezifischen Voraussetzungen installiert werden. Tauri unterstützt Entwicklung und Distribution auf folgenden Plattformen:
| Plattform | Unterstützte Versionen |
|---|---|
| Windows | 7 und höher |
| macOS | 10.15 und höher |
| Linux | webkit2gtk 4.0 für Tauri v1 (z.B. Ubuntu 18.04), webkit2gtk 4.1 für Tauri v2 (z.B. Ubuntu 22.04) |
| iOS/iPadOS | 9 und höher |
| Android | 7 und höher (aktuell 8 und höher) |
Architektur-Komponenten
Die Benutzeroberfläche in Tauri-Apps nutzt tao als Fenster-Verwaltungsbibliothek. Zum Rendern verwendet Tauri WRY, eine Bibliothek mit einheitlicher Schnittstelle zum System-Webview:
- WKWebView auf macOS und iOS
- WebView2 auf Windows
- WebKitGTK auf Linux
- Android System WebView auf Android
Plattform-spezifische Native Bindings
Das JavaScript CLI lädt plattformspezifische Native-Bindings basierend auf Betriebssystem und Architektur. Für Windows x64 werden beispielsweise unterschiedliche Bindings für MSVC und GNU geladen (packages/cli/index.js:110-144).
Entwicklungsserver starten
Empfohlener Pfad mit npm
Nach der Projekt-Erstellung und CLI-Installation kann der Entwicklungsserver gestartet werden:
bash1# In das Projektverzeichnis wechseln 2cd mein-tauri-projekt 3 4# Entwicklungsserver starten 5npm run tauri dev
Dieser Befehl startet sowohl den Frontend-Entwicklungsserver als auch das Rust-Backend im Watch-Modus.
Alternative Paketmanager
| Paketmanager | Befehl |
|---|---|
| pnpm | pnpm tauri dev |
| yarn | yarn tauri dev |
| bun | bun tauri dev |
(packages/cli/README.md:24-28)
CLI Programmierschnittstelle
Das CLI exportiert eine run-Funktion, die als Promise verwendet werden kann:
javascript1const { run, logError } = require('@tauri-apps/cli') 2 3run(args, binName).then(result => { 4 // Erfolg 5}).catch(error => { 6 logError(error) 7})
Build und Produktion
Anwendung erstellen
Für die Erstellung einer produktionsbereiten Anwendung:
bash1npm run tauri build
Tauri verfügt über einen integrierten App-Bundler, der Bundle-Formate wie .app, .dmg, .deb, .rpm, .AppImage und Windows-Installer (.exe via NSIS, .msi via WiX) erstellt (README.md:30-41).
Ausgabeverzeichnis
Die erstellten Binärdateien befinden sich standardmäßig im Verzeichnis src-tauri/target/release/bundle/. Die genaue Struktur hängt von der Zielplattform ab.
Validierung und Test
Installation überprüfen
Zur Überprüfung der korrekten CLI-Installation:
bash1npx tauri --version
Erwartete Ausgabe: Versionsnummer des installierten CLI (z.B. 2.10.0 gemäß Binding-Version in packages/cli/index.js:84-86).
Projektstruktur validieren
Eine korrekte Tauri-Projektstruktur enthält mindestens:
package.jsonmit@tauri-apps/cliAbhängigkeitsrc-tauri/Verzeichnis mitCargo.tomlsrc-tauri/tauri.conf.jsonKonfigurationsdatei- Frontend-Quellcode (z.B.
src/oderindex.html)
Entwicklungsserver-Test
Nach dem Start von npm run tauri dev sollte:
- Ein Browser-Fenster mit der Anwendung erscheinen
- Die Konsole keine Kompilierungsfehler anzeigen
- Hot-Reload bei Änderungen funktionieren
Häufige Probleme und Lösungen
Problem 1: Native Binding nicht gefunden
Symptom: Fehlermeldung wie Cannot find module './cli.win32-x64-msvc.node'
Ursache: Das plattformspezifische Native-Binding konnte nicht geladen werden. Das CLI versucht mehrere Fallback-Pfade (packages/cli/index.js:67-144).
Lösung:
bash1# Abhängigkeiten neu installieren 2rm -rf node_modules 3npm install 4 5# Oder mit pnpm 6pnpm store prune && pnpm install
Problem 2: Version-Mismatch der Native Bindings
Symptom: Fehlermeldung Native binding package version mismatch, expected 2.10.0 but got X.X.X
Ursache: Die Version des installierten Native-Binding-Pakets stimmt nicht mit der CLI-Version überein (packages/cli/index.js:84-86).
Lösung:
bash1# Abhängigkeiten komplett neu installieren 2npm ci 3 4# Oder Umgebungsvariable setzen (für fortgeschrittene Fälle) 5NAPI_RS_ENFORCE_VERSION_CHECK=0 npm run tauri dev
Problem 3: Linux webkit2gtk fehlt
Symptom: Kompilierungsfehler beim Rust-Build mit Verweis auf webkit2gtk
Ursache: Fehlende Systemabhängigkeit auf Linux-Systemen. Tauri v2 benötigt webkit2gtk 4.1 (README.md:42-52).
Lösung (Ubuntu/Debian):
bash1sudo apt update 2sudo apt install libwebkit2gtk-4.1-dev \ 3 build-essential \ 4 curl \ 5 wget \ 6 libssl-dev \ 7 libgtk-3-dev \ 8 libayatana-appindicator3-dev \ 9 librsvg2-dev
Problem 4: Rust nicht installiert
Symptom: Fehler cargo: command not found oder rustc: command not found
Ursache: Rust-Toolchain nicht im System installiert.
Lösung:
bash1# Rust installieren 2curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 3 4# Terminal neu starten oder: 5source $HOME/.cargo/env
Problem 5: Musl-Erkennung auf Linux
Symptom: Falsches Binary-Format auf Alpine Linux oder anderen Musl-basierten Distributionen
Ursache: Das CLI erkennt automatisch, ob das System Musl oder Glibc verwendet, durch Prüfung von /usr/bin/ldd, Prozess-Report oder ldd --version (packages/cli/index.js:17-65).
Lösung: Bei Problemen kann die Erkennung durch Setzen von Umgebungsvariablen umgangen werden (spezifische Variablen benötigen Bestätigung aus der Dokumentation).
Nächste Schritte
Nach erfolgreicher Einrichtung und Validierung empfiehlt sich die Weiterarbeit mit folgenden Themen:
-
Konfiguration: Anpassung der
tauri.conf.jsonfür projektspezifische Einstellungen wie Fenstergröße, Icons und Sicherheitsrichtlinien. -
API-Integration: Nutzung der
@tauri-apps/apiPackage für Kommunikation zwischen Frontend und Rust-Backend (Dokumentation unter README.md:30-41 erwähnt integrierte Features). -
Rust-Backend-Entwicklung: Implementierung von Commands in Rust, die vom Frontend aufgerufen werden können.
-
Bundling und Distribution: Konfiguration der Build-Einstellungen für verschiedene Zielplattformen und Erstellung von Installern.
-
Erweiterte Features: Integration von System-Tray-Icons, nativen Benachrichtigungen und Self-Updater (nur Desktop) gemäß Feature-Liste in README.md:30-41.
Die vollständige Dokumentation ist unter tauri.app verfügbar (README.md:20-28). Für architektonische Details siehe ARCHITECTURE.md (README.md:12-18).
