ビルドとデプロイ
作成2026年3月29日Takeshi Takatsudo
macOS 向け Tauri アプリのビルド、バンドル、デプロイ
ビルドとデプロイ
Tauri アプリの本番ビルドは、他のフレームワークと比べてステップが多く、注意すべき点も多い。このセクションでは、cargo tauri build から .app バンドルをターゲットマシンにインストールするまでの、デプロイパイプライン全体をカバーする。
ビルドパイプライン
graph LR
A[フロントエンドビルド] --> B[Rust コンパイル]
B --> C[アセット埋め込み]
C --> D[バンドル作成]
D --> E[".app バンドル"]
- フロントエンドビルド — Tauri が
beforeBuildCommand(例:vite build)を実行し、静的アセットを生成 - Rust コンパイル — Cargo がリリースモードで Rust バックエンドをコンパイル
- アセット埋め込み —
tauri::generate_context!()がfrontendDistの内容をバイナリに埋め込み - バンドル作成 — Tauri がすべてを
.appバンドル(およびオプションで.dmg)にパッケージング
このセクションのトピック
- アプリバンドルのビルド —
cargo tauri buildコマンド、バンドルターゲット、アイコン、インストール - macOS の落とし穴 — 何時間も無駄にすることになる
.app置き換えに関する重大な問題 - Cargo キャッシュ無効化 — Cargo が変更を検出しない場合にフロントエンドアセットの再埋め込みを強制する方法
- Node.js のバンドル — アプリにスタンドアロンの Node.js バイナリを含めるためのダウンロードスクリプト
クイックリファレンス
# Build for production
cargo tauri build
# Build with a specific config
cargo tauri build --config tauri.conf.myapp.json
# The output .app bundle is at:
# target/release/bundle/macos/YourApp.app
# Install to /Applications
rm -rf /Applications/YourApp.app
cp -r target/release/bundle/macos/YourApp.app /Applications/
⚠️ Warning
新しいバンドルをコピーする前に、必ず古い .app を rm -rf で削除すること。cp -rf だけでは安全でない理由は macOS の落とし穴 を参照。