⚡ 59 Entwickler-Tools, immer aktuell — neue Upstream-Releases landen innerhalb von Stunden in apt. Discord beitreten

📅 Ab ist für den apt-Mirror ein Abo erforderlich. Preise ansehen · 🆓 Es gibt einen für immer kostenlosen Spiegel

Neuestes tree-sitter-cli unter Ubuntu installieren

Tree-sitter-Parser und -Grammatiken auf der Kommandozeile erzeugen, bauen, testen und debuggen

Neueste Version: 0.27.0 · aktualisiert 2026-09-15
QuelleVersion
deb.griffo.io0.27.0 ✅
Offizielles Ubuntu0.25.9 🛑
← Zurück zur Startseite
📌 Installation auf einer bestimmten Version? Ubuntu 22.04 (jammy) · Ubuntu 24.04 (noble) · Ubuntu 25.10 (questing) · Ubuntu 26.04 (resolute)

Was ist tree-sitter-cli?

tree-sitter-cli ist das Kommandozeilenwerkzeug zur Entwicklung von Tree-sitter-Parsern. Tree-sitter ist ein Parser-Generator und eine inkrementelle Parsing-Bibliothek: Es baut für eine Quelldatei einen konkreten Syntaxbaum und aktualisiert ihn beim Editieren mit wenig Aufwand — deshalb setzen Neovim, Helix, Zed und GitHub es für Hervorhebung, Faltung, Textobjekte und Code-Navigation ein. Mit der CLI entstehen die Grammatiken: Sie legt ein Grammatik-Repository an, erzeugt aus grammar.js einen C-Parser, kompiliert ihn zu einer Shared Library oder zu WebAssembly, führt Korpus-Tests aus, parst, befragt, hebt hervor und taggt Dateien und startet einen Web-Playground. Es ist ein einzelnes Rust-Binary, und der Befehl, den du tippst, heißt tree-sitter.

🚀 Warum neueste Versionen wichtig sind: Grammatiken hängen eng an der CLI: das aktuelle Parser-ABI, das tree-sitter.json-Layout, das tree-sitter init schreibt, und die eingebaute QuickJS-Laufzeit hinter --js-runtime native kamen alle nach den Versionen, die in den Archiven eingefroren sind. Ein mit einer aktuellen CLI erzeugtes Grammatik-Repository erwartet dieselbe oder eine neuere auf jedem Entwicklerrechner und in der CI. Debian stable mit 0.22.6 und Ubuntu 24.04 mit 0.20.8 sind älter als das meiste davon, und die Linux-Binaries von Upstream brauchen glibc 2.39 — unter Debian 12 oder Ubuntu 22.04 starten sie gar nicht.

⚡ Wichtige Funktionen von tree-sitter-cli

🧱 Grammatik-Repository mit einem Befehl

tree-sitter init stellt ein paar Fragen und schreibt grammar.js, tree-sitter.json sowie Binding- und Paketdateien — die Grammatik lässt sich vom ersten Tag an für Node.js, Python, Rust, Go, Swift und C veröffentlichen.

⚙️ Parser-Erzeugung

tree-sitter generate macht aus grammar.js einen abhängigkeitsfreien C-Parser in src/ und meldet Konflikte. Die Grammatik läuft dabei unter node oder, mit --js-runtime native, unter der eingebauten QuickJS-Laufzeit.

🔨 Native und WebAssembly-Builds

tree-sitter build kompiliert den Parser zu einer Shared Library, die Editoren laden, und --wasm erzeugt ein .wasm-Modul für web-tree-sitter und den Playground.

🧪 Korpus-Tests

tree-sitter test parst die Beispiele unter test/corpus, vergleicht die Bäume mit den erwarteten S-Expressions und führt auch Highlight- und Tag-Tests aus. --update schreibt die Erwartungen nach einer gewollten Änderung neu.

🔍 Parsen, abfragen, hervorheben, taggen

parse gibt den Syntaxbaum aus, query führt eine .scm-Abfrage aus und listet ihre Captures, highlight rendert ins Terminal oder nach HTML, und tags extrahiert Definitionen und Referenzen.

🛝 Web-Playground

tree-sitter playground startet eine lokale Seite: Code eintippen, den Baum beim Editieren mitwachsen sehen und Abfragen darauf ausführen — der schnellste Weg herauszufinden, warum eine Regel nicht greift.

🚀 Immer den offiziellen Archiven voraus: Debian und Ubuntu frieren Paketversionen zum Release-Zeitpunkt ein — dieses Repository veröffentlicht neue Upstream-Releases in der Regel innerhalb weniger Stunden. Ein einfaches apt upgrade hält dich auf der neuesten Version.

📦 Installation aus deb.griffo.io

Befehle ausführen

Schritt 1: Repository hinzufügen

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt update
install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update

🆓 Es gibt einen für immer kostenlosen Spiegel. deb-free.griffo.io liefert Pakete für immer kostenlos — ohne Konto, ohne Abo, höchstens 2 Monate hinter Upstream, Sicherheitsfixes sofort. Derzeit enthält er cliamp, Ghostty, lazydocker, Oh My Posh, Uncloud und Zed; tree-sitter-cli ist nicht dabei, deshalb führt heute nur das Repository oben dorthin — auf Anfrage kann es aufgenommen werden.

So funktioniert der kostenlose Spiegel →

Schritt 2: tree-sitter-cli installieren

# Neuestes tree-sitter-cli installieren
sudo apt install tree-sitter-cli

# Installation prüfen, der Befehl heißt tree-sitter und nicht tree-sitter-cli
tree-sitter --version
# Neuestes tree-sitter-cli installieren
apt install tree-sitter-cli

# Installation prüfen, der Befehl heißt tree-sitter und nicht tree-sitter-cli
tree-sitter --version

Schritt 3: Die erste Grammatik anlegen

# Der Befehl heißt tree-sitter. Parser bauen und testen braucht einen C-Compiler,
# und generate führt grammar.js mit node aus, außer du wählst die eingebaute Laufzeit
sudo apt install build-essential nodejs

# Ein Grammatik-Repository anlegen und ein paar Fragen beantworten
mkdir tree-sitter-mylang && cd tree-sitter-mylang
tree-sitter init

# Parser erzeugen, kompilieren und die Korpus-Tests laufen lassen
tree-sitter generate
tree-sitter build
tree-sitter test

# Die Vervollständigungen für bash, zsh, fish und nushell sind im Paket
tree-sitter --help
# Der Befehl heißt tree-sitter. Parser bauen und testen braucht einen C-Compiler,
# und generate führt grammar.js mit node aus, außer du wählst die eingebaute Laufzeit
apt install build-essential nodejs

# Ein Grammatik-Repository anlegen und ein paar Fragen beantworten
mkdir tree-sitter-mylang && cd tree-sitter-mylang
tree-sitter init

# Parser erzeugen, kompilieren und die Korpus-Tests laufen lassen
tree-sitter generate
tree-sitter build
tree-sitter test

# Die Vervollständigungen für bash, zsh, fish und nushell sind im Paket
tree-sitter --help

🎯 Grundlegende Verwendungsbeispiele

An einer Grammatik arbeiten:

# Nach jeder Änderung an grammar.js neu erzeugen, ohne node, mit dem eingebauten QuickJS
tree-sitter generate --js-runtime native

# Nur die Tests mit passendem Namen ausführen, dann die neue Ausgabe als Erwartung übernehmen
tree-sitter test --include 'function'
tree-sitter test --update

# Eine Shared Library bauen, oder ein WebAssembly-Modul für web-tree-sitter
tree-sitter build -o mylang.so
tree-sitter build --wasm

Dateien parsen:

# Den Syntaxbaum einer Datei ausgeben
tree-sitter parse examples/hello.mylang

# Viele Dateien still parsen und melden, wie viele gelungen sind
tree-sitter parse examples/*.mylang --quiet --stat

# Einen Parse-Lauf stoppen, praktisch, wenn eine Grammatikänderung bremst
tree-sitter parse examples/big.mylang --time

Abfragen, Hervorhebung und Tags:

# Eine Abfrage auf eine Datei anwenden und die Captures auflisten
tree-sitter query queries/highlights.scm examples/hello.mylang

# Eine Datei im Terminal hervorheben oder als eigenständige HTML-Seite rendern
tree-sitter highlight examples/hello.mylang
tree-sitter highlight --html examples/hello.mylang > hello.html

# Definitionen und Referenzen mit der Tags-Abfrage extrahieren
tree-sitter tags examples/hello.mylang

Bestehende Grammatiken und der Playground:

# An einer bestehenden Grammatik arbeiten
git clone https://github.com/tree-sitter/tree-sitter-json
cd tree-sitter-json
tree-sitter generate && tree-sitter test

# Eine Konfigurationsdatei schreiben und die Grammatik-Checkouts unter parser-directories eintragen
tree-sitter init-config

# Nach WebAssembly bauen und den interaktiven Playground im Browser öffnen
tree-sitter build --wasm
tree-sitter playground

🔧 Tool-Integrationen

Die Tree-sitter-CLI sitzt zwischen einer Grammatik und den Werkzeugen, die sie laden:

  • Neovim: der main-Zweig von nvim-treesitter kompiliert Parser mit der tree-sitter-CLI und verlangt ein aktuelles Release, neuer als das, was Debian stable oder Ubuntu LTS mitbringen
  • Helix: Hervorhebung, Einrückung und Textobjekte sind Tree-sitter-Abfragen; eine Änderung an highlights.scm prüfst du mit tree-sitter query, bevor du die Grammatiken mit hx --grammar build neu baust
  • Zed: Spracherweiterungen pinnen ein Grammatik-Repository und einen Commit — die Grammatik also lokal erzeugen und testen, bevor der Pin angehoben wird
  • CI: tree-sitter generate gefolgt von git diff --exit-code src/ lässt einen Pull Request scheitern, dessen eingecheckter Parser veraltet ist
  • Paket-Registries: mit den Bindings, die tree-sitter init schreibt, geht dieselbe Grammatik zu npm, PyPI und crates.io

🚀 Warum deb.griffo.io?

📊 Repository-Vergleich:
  • Offizielles Ubuntu: liefert tree-sitter-cli in universe, aber 24.04 LTS hat 0.20.8, 26.04 liegt schon hinter Upstream, und 22.04 hat gar kein Paket
  • Upstream-Binary: aktuell, aber die vorkompilierten Linux-Binaries von Upstream sind gegen glibc 2.39 gelinkt, starten also nicht unter Debian 12 oder Ubuntu 22.04, und sie liegen an apt vorbei in /usr/local/bin
  • cargo oder npm: cargo install tree-sitter-cli braucht eine Rust-Toolchain und bei jedem Upgrade einen kompletten Build, und das npm-Paket lädt dasselbe vorkompilierte Binary mit derselben glibc-Anforderung
  • deb.griffo.io: neueste Version mit automatischen Updates

📦 Paket-Build-Repository

Die Ubuntu-Pakete werden in diesem GitHub-Repository automatisch gebaut und gepflegt:

🔗 Verwandte Pakete

Ebenfalls verfügbar über deb.griffo.io:

🎯 Ideal für: eine Grammatik für eine neue Sprache schreiben, Parser und Korpus-Tests einer bestehenden Grammatik aktuell halten, Highlight- und Injection-Abfragen für Neovim, Helix oder Zed testen, CI-Jobs, die prüfen, ob ein eingecheckter Parser aktuell ist — und Rechner mit Debian 12 oder Ubuntu 22.04, auf denen das Binary von Upstream nicht startet.

📦 Neueste Releases aus diesem Repository

❓ Häufig gestellte Fragen

Ist tree-sitter-cli in den offiziellen Ubuntu-Paketquellen?

Ja, aber das offizielle Ubuntu-Archiv liefert tree-sitter-cli 0.25.9, während dieses Repository tree-sitter-cli 0.27.0 bereitstellt, wenige Stunden nach jedem Upstream-Release neu gebaut.

Wie installiere ich das neueste tree-sitter-cli unter Ubuntu?

Fügen Sie das deb.griffo.io-Repository einmalig hinzu (Anleitung oben) und führen Sie dann aus: sudo apt install tree-sitter-cli. Neue Releases kommen über das normale sudo apt upgrade.

Sind die Pakete signiert und wie werden sie gebaut?

Jedes Paket ist mit dem GPG-Schlüssel des Repositories (EA0F721D231FDD3A0A17B9AC7808B4DD62C41256) signiert und wird aus Upstream-Releases in öffentlichen GitHub-Repositories gebaut, die jeder einsehen kann.

Welche Ubuntu-Versionen werden unterstützt?

Ubuntu 22.04 Jammy, 24.04 Noble, 25.10 Questing und 26.04 Resolute.