⚡ 59 個の開発ツールを、常に最新に — 上流の新しいリリースは数時間以内に apt に届きます。 Discord に参加

📅 より、apt ミラーの利用にはサブスクリプションが必要になります。 料金を見る · 🆓 ずっと無料のミラーがあります

最新の tree-sitter-cli を Ubuntu にインストール

Tree-sitter のパーサーと文法を、コマンドラインで生成・ビルド・テスト・デバッグ

最新バージョン: 0.27.0 · 更新日 2026-09-15
提供元バージョン
deb.griffo.io0.27.0 ✅
公式 Ubuntu0.25.9 🛑
← ホームに戻る
📌 特定のリリースに入れますか? Ubuntu 22.04 (jammy) · Ubuntu 24.04 (noble) · Ubuntu 25.10 (questing) · Ubuntu 26.04 (resolute)

tree-sitter-cli とは

tree-sitter-cli は、Tree-sitter パーサーを開発するためのコマンドラインツールです。Tree-sitter はパーサージェネレーターであり、インクリメンタルなパースライブラリでもあります。ソースファイルの具象構文木を作り、編集に合わせて少ないコストで更新するため、Neovim、Helix、Zed、GitHub がハイライト、折りたたみ、テキストオブジェクト、コードナビゲーションに使っています。文法はこの CLI で作られます。文法リポジトリの雛形を作り、grammar.js から C のパーサーを生成し、共有ライブラリや WebAssembly にコンパイルし、コーパステストを走らせ、ファイルのパース・クエリ・ハイライト・タグ付けを行い、Web の playground も立ち上げます。Rust 製の単一バイナリで、入力するコマンドは tree-sitter です。

🚀 最新版であることの意味: 文法は CLI と歩調を合わせて進みます。現行のパーサー ABI、tree-sitter init が書き出す tree-sitter.json の構成、--js-runtime native の裏にある組み込み QuickJS ランタイムは、どれもアーカイブで固定されたバージョンより後に登場しました。現行の CLI で生成した文法リポジトリは、コントリビューター全員のマシンと CI に同じかそれ以降のバージョンを求めます。Debian stable の 0.22.6 も Ubuntu 24.04 の 0.20.8 もその大半より前のもので、上流の Linux バイナリは glibc 2.39 を必要とするため、Debian 12 や Ubuntu 22.04 では起動すらしません。

⚡ tree-sitter-cli の主な機能

🧱 コマンド 1 つで文法リポジトリ

tree-sitter init がいくつか質問し、grammar.js、tree-sitter.json、バインディングとパッケージのファイルを書き出します。文法は初日から Node.js、Python、Rust、Go、Swift、C 向けに公開できます。

⚙️ パーサー生成

tree-sitter generate は grammar.js を src/ 内の依存のない C パーサーに変換し、コンフリクトを報告します。文法の実行には node を使うか、--js-runtime native で組み込みの QuickJS ランタイムを使います。

🔨 ネイティブと WebAssembly のビルド

tree-sitter build はパーサーをエディタが読み込む共有ライブラリにコンパイルし、--wasm は web-tree-sitter と playground 用の .wasm モジュールを出力します。

🧪 コーパステスト

tree-sitter test は test/corpus の例をパースし、期待される S 式と木を比較し、ハイライトとタグのテストも実行します。意図した変更の後は --update で期待値を書き換えます。

🔍 パース・クエリ・ハイライト・タグ

parse は構文木を表示し、query は .scm クエリを実行してキャプチャを一覧にし、highlight はターミナルや HTML に描画し、tags は定義と参照を抽出します。

🛝 Web playground

tree-sitter playground はローカルのページを立ち上げます。コードを打ち込むと編集に合わせて木が更新され、その場でクエリも試せます。ルールがなぜマッチしないのかを知る一番の近道です。

🚀 公式アーカイブより、いつも先へ: Debian と Ubuntu は、リリース時点でパッケージのバージョンを固定します。このリポジトリは上流の新しいリリースを、たいてい数時間以内に公開します。apt upgrade を実行するだけで、常に最新版を使い続けられます。

📦 deb.griffo.io からインストールする

コマンドの実行方法

ステップ 1: リポジトリを追加する

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

🆓 ずっと無料のミラーがあります。 deb-free.griffo.io は、アカウントもサブスクリプションもなしでパッケージをずっと無料で配布しています。上流より最大2か月遅れ、セキュリティ修正は即座に公開されます。現在収録しているのは cliamp、Ghostty、lazydocker、Oh My Posh、Uncloud と Zed です。tree-sitter-cli は含まれていないため、今日入手する方法は上のリポジトリだけですが、ご要望があれば追加できます。

無料ミラーの仕組み →

ステップ 2: tree-sitter-cli をインストールする

# 最新の tree-sitter-cli をインストール
sudo apt install tree-sitter-cli

# インストールを確認。コマンドは tree-sitter-cli ではなく tree-sitter です
tree-sitter --version
# 最新の tree-sitter-cli をインストール
apt install tree-sitter-cli

# インストールを確認。コマンドは tree-sitter-cli ではなく tree-sitter です
tree-sitter --version

ステップ 3: 最初の文法を作る

# コマンドは tree-sitter です。パーサーのビルドとテストには C コンパイラが必要で、
# generate は組み込みランタイムを選ばない限り node で grammar.js を実行します
sudo apt install build-essential nodejs

# いくつかの質問に答えて文法リポジトリの雛形を作る
mkdir tree-sitter-mylang && cd tree-sitter-mylang
tree-sitter init

# パーサーを生成し、コンパイルし、コーパステストを走らせる
tree-sitter generate
tree-sitter build
tree-sitter test

# bash、zsh、fish、nushell の補完はパッケージに含まれています
tree-sitter --help
# コマンドは tree-sitter です。パーサーのビルドとテストには C コンパイラが必要で、
# generate は組み込みランタイムを選ばない限り node で grammar.js を実行します
apt install build-essential nodejs

# いくつかの質問に答えて文法リポジトリの雛形を作る
mkdir tree-sitter-mylang && cd tree-sitter-mylang
tree-sitter init

# パーサーを生成し、コンパイルし、コーパステストを走らせる
tree-sitter generate
tree-sitter build
tree-sitter test

# bash、zsh、fish、nushell の補完はパッケージに含まれています
tree-sitter --help

🎯 基本的な使い方

文法を開発する:

# grammar.js を変更するたびに再生成。組み込み QuickJS を使えば node は不要
tree-sitter generate --js-runtime native

# 名前が一致するテストだけを実行し、新しい出力を期待値として受け入れる
tree-sitter test --include 'function'
tree-sitter test --update

# 共有ライブラリ、または web-tree-sitter 用の WebAssembly モジュールをビルド
tree-sitter build -o mylang.so
tree-sitter build --wasm

ファイルをパースする:

# ファイルの構文木を表示
tree-sitter parse examples/hello.mylang

# 多数のファイルを静かにパースし、成功した数を報告
tree-sitter parse examples/*.mylang --quiet --stat

# パースの時間を計測。文法の変更で遅くなったときに便利
tree-sitter parse examples/big.mylang --time

クエリ、ハイライト、タグ:

# ファイルにクエリを実行し、キャプチャしたものを一覧表示
tree-sitter query queries/highlights.scm examples/hello.mylang

# ファイルをターミナルでハイライト、または単体の HTML ページに描画
tree-sitter highlight examples/hello.mylang
tree-sitter highlight --html examples/hello.mylang > hello.html

# tags クエリで定義と参照を抽出
tree-sitter tags examples/hello.mylang

既存の文法と playground:

# 既存の文法で作業する
git clone https://github.com/tree-sitter/tree-sitter-json
cd tree-sitter-json
tree-sitter generate && tree-sitter test

# 設定ファイルを作り、parser-directories に文法のチェックアウト先を書く
tree-sitter init-config

# WebAssembly にビルドし、ブラウザで対話型の playground を開く
tree-sitter build --wasm
tree-sitter playground

🔧 ツール連携

Tree-sitter CLI は、文法とそれを読み込むツールの間に位置します:

  • Neovim: nvim-treesitter の main ブランチは tree-sitter CLI でパーサーをコンパイルし、Debian stable や Ubuntu LTS に入っているものより新しいリリースを求めます
  • Helix: ハイライト、インデント、テキストオブジェクトは Tree-sitter クエリです。highlights.scm の変更は、hx --grammar build で文法を再ビルドする前に tree-sitter query で確認できます
  • Zed: 言語拡張は文法リポジトリとコミットを固定するので、固定先を更新する前にローカルで文法を生成・テストします
  • CI: tree-sitter generate の後に git diff --exit-code src/ を実行すれば、コミット済みのパーサーが古いプルリクエストを失敗させられます
  • パッケージレジストリ: tree-sitter init が書き出すバインディングで、同じ文法を npm、PyPI、crates.io に公開できます

🚀 deb.griffo.io を選ぶ理由

📊 リポジトリの比較:
  • 公式 Ubuntu: universe に tree-sitter-cli はありますが、24.04 LTS は 0.20.8、26.04 もすでに上流より遅れており、22.04 にはパッケージ自体がありません
  • 上流のバイナリ: 最新ではありますが、上流のビルド済み Linux バイナリは glibc 2.39 にリンクされているため Debian 12 や Ubuntu 22.04 では起動せず、apt の管理外の /usr/local/bin に置くことになります
  • cargo または npm: cargo install tree-sitter-cli には Rust ツールチェーンが必要で、更新のたびにフルビルドになります。npm パッケージは同じビルド済みバイナリをダウンロードするので、glibc の要件も同じです
  • deb.griffo.io: 最新版を自動更新で

📦 パッケージのビルドリポジトリ

Ubuntu パッケージは、この GitHub リポジトリで自動的にビルド・管理されています:

🔗 関連パッケージ

deb.griffo.io では、こちらも配布しています:

🎯 こんな方に: 新しい言語の文法を書く、既存の文法のパーサーとコーパステストを最新に保つ、Neovim・Helix・Zed 向けのハイライトやインジェクションのクエリを試す、コミット済みパーサーが最新かを CI で確認する、そして上流のバイナリが起動しない Debian 12 や Ubuntu 22.04 のマシンで作業する。

📦 このリポジトリの最近のリリース

❓ よくある質問

tree-sitter-cli は公式の Ubuntu リポジトリにありますか?

あります。ただし公式 Ubuntu アーカイブが配布しているのは tree-sitter-cli 0.25.9 で、このリポジトリは上流のリリースから数時間以内に再ビルドした tree-sitter-cli 0.27.0 を配布しています。

Ubuntu に最新の tree-sitter-cli を入れるには?

上の手順で deb.griffo.io リポジトリを一度追加してから、sudo apt install tree-sitter-cli を実行してください。新しいリリースは、いつもの sudo apt upgrade で届きます。

パッケージは署名されていますか? どのようにビルドされていますか?

すべてのパッケージはリポジトリの GPG 鍵(EA0F721D231FDD3A0A17B9AC7808B4DD62C41256)で署名されており、誰でも中身を確認できる公開の GitHub パッケージングリポジトリで、上流のリリースからビルドされています。

Ubuntu のどのリリースに対応していますか?

Ubuntu 22.04 Jammy、24.04 Noble、25.10 Questing、26.04 Resolute。