Tauri アプリの最終的なインストーラーサイズは、Rust のバイナリサイズとフロントエンドのアセットサイズの合計です。
それぞれの内訳を可視化し、肥大化の原因を特定します。
1. フロントエンドの分析 (Vite)
JavaScript/CSS およびバンドルされるライブラリのサイズを分析します。rollup-plugin-visualizer を使用します。
npm install -D rollup-plugin-visualizer
vite.config.ts:
import { defineConfig } from 'vite';
import { visualizer } from 'rollup-plugin-visualizer';
export default defineConfig({
plugins: [
// ...他のプラグイン
visualizer({
open: true, // ビルド後に自動でブラウザを開く
filename: 'stats.html',
gzipSize: true,
brotliSize: true,
}),
],
});
ビルドを実行すると stats.html が生成され、どのライブラリが大きいかが一目でわかります。
2. Rust バイナリの分析
cargo-bloat を使用して、コンパイル後のバイナリ内でどの関数や依存クレートが容量を食っているかを調査します。
まず、以下のコマンドでツールをインストールします。
cargo install cargo-bloat
インストール後、src-tauri ディレクトリで以下のコマンドを実行します。
# クレートごとのサイズ割合を表示
cargo bloat --release --crates
# もっと詳しい内訳(関数ごと)
cargo bloat --release -n 10
3. 依存関係ツリーの確認
不要な依存関係が意図せず含まれていないか確認します。
cargo tree
# 特定のパッケージがなぜ含まれているか逆引き
cargo tree -i <package_name>