Contents
事前準備と開発環境の構築
Tauri 2.0 の安定版へ移行するには、まず Node.js·Rust·Cargo を公式が推奨する最新版に合わせることが必須です。バージョンが揃っていないとビルドエラーや実行時例外が頻発します。このセクションでは、macOS・Windows・Linux のそれぞれで安全に環境を構築できる手順を示します。
Node.js・Rust・Cargo のインストール
各 OS で推奨されているコマンド例と補足情報です。実行前に既存の古いバージョンが残っていないか確認し、必要に応じてクリーンアップしてください。
| OS | コマンド例 | 補足 |
|---|---|---|
| macOS (Intel / Apple Silicon) | bash<br># Homebrew がインストール済みであることを前提とします。<br>brew install node@20<br>curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \| sh -s -- -y<br>source $HOME/.cargo/env<br> |
node@20 は LTS 系の 20.x 系をインストールします。 |
| Windows 10/11 | powershell<br># winget が利用できる環境(Windows Terminal 推奨)<br>winget install OpenJS.NodeJS --exact --version 20<br>Invoke-WebRequest https://win.rustup.rs -OutFile rustup-init.exe; .\rustup-init.exe -y<br> |
winget が使えない場合は https://nodejs.org/dist/v20.x/ のインストーラを直接ダウンロードしてください。 |
| Ubuntu 24.04 (Linux) | bash<br># Node.js 公式スクリプトで LTS を取得<br>curl -fsSL https://deb.nodesource.com/setup_20.x \| sudo -E bash -<br>sudo apt-get install -y nodejs<br># Rust のインストール<br>curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \| sh -s -- -y<br>source $HOME/.cargo/env<br> |
apt パッケージは古いことがあるため、公式スクリプト使用を推奨します。 |
インストール後にバージョンを確認し、Node 20.x, npm 10.x 以上, rustc 1.78.x, cargo 1.78.x が表示されれば成功です。
|
1 2 3 4 5 |
node -v # v20.x.x npm -v # 10.x.x 以上 rustc --version # rustc 1.78.x cargo --version # cargo 1.78.x |
OS 別依存ライブラリの取得
Tauri が内部で利用する WebView とネイティブ UI コンポーネントには、OS ごとの追加パッケージが必要です。下表は最小構成で必ずインストールすべきものをまとめたものです。
| OS | 必要なパッケージ・取得方法 |
|---|---|
| macOS | Xcode Command Line Tools:xcode-select --install Apple Developer Program の証明書はコードサイン時に必須です。 |
| Windows | WebView2 Runtime(Microsoft Edge WebView2):https://go.microsoft.com/fwlink/p/?LinkId=2124703 Visual C++ Redistributable ( vc_redist.x64.exe) を公式サイトからインストール。 |
| Linux (Ubuntu/Debian) | bash<br>sudo apt-get install -y libgtk-3-dev libappindicator3-dev librsvg2-dev libssl-dev pkg-config<br>Arch 系の場合は pacman -S gtk3 webkit2gtk など同等パッケージをインストールしてください。 |
これらの依存関係は、公式ドキュメントの 「開始ガイド」(https://v2.tauri.app/ja/start/)でも同様に記載されていますので、併せて確認してください。
公式マイグレーションツールで安全に移行
Tauri 2.0 のベータから RC/安定版へは、tauri migrate コマンドを利用すると手動ミスが大幅に減ります。以下では実行手順と主要オプション、さらに安全に作業するためのバックアップ・検証フローを紹介します。
taur i migrate の基本的な使い方
まずは最新の tauri‑cli を取得し、プロジェクトルートで dry‑run を実行してください。dry‑run は変更点だけをレポートし、ファイルを書き換えません。
|
1 2 3 4 5 6 |
# CLI が未インストールの場合はインストール cargo install tauri-cli --locked # 変更内容のプレビュー(必ず最初に実行) tauri migrate --dry-run |
| オプション | 説明 |
|---|---|
--dry-run |
実際の書き換えを行わず、差分レポートだけを表示。必須ステップです。 |
--force |
既存のバックアップがあっても上書きしてマイグレーションを強制実行。 |
--skip-webview |
WebView の自動更新を抑止し、手動で対応したい場合に使用します。 |
本番適用例
|
1 2 |
tauri migrate --force |
バックアップと検証のベストプラクティス
- Git コミット:作業ブランチを作成し、現在の状態をコミットしておく
bash
git checkout -b migrate/tauri-2.0
git commit -am "pre‑migrate backup" - 依存ツリーのスナップショット:Rust と npm の依存関係をファイルに保存
bash
cargo tree > cargo-tree-before.txt
npm ls --depth=0 > npm-deps-before.txt - dry‑run 結果の確認:削除・置換が必要な項目が無いかレポートを精査
- ローカルビルドで検証:
tauri devがエラーなく起動すれば、マイグレーションは成功です
失敗した場合は git reset --hard HEAD~1 で直前のコミットに戻せます。
設定ファイルと依存パッケージの更新ポイント
マイグレーション後に注意すべきは Cargo.toml と tauri.conf.json の差分です。自動変換された内容を手作業で確認し、必要に応じて調整してください。
Cargo.toml の主な変更点
| 変更前 | 変更後(RC) | 補足 |
|---|---|---|
tauri = { version = "2.0.0-beta.4", features = ["api-all"] } |
tauri = { version = "2.0.0-rc.1", features = ["api-all"], default-features = false } |
RC では default‑features が false に変更。必要な機能は明示的に列挙します。 |
serde = "1.0"(ベータ用) |
serde = { version = "1.0", features = ["derive"] } |
derive が必須になるため、記述を統一しました。 |
tauri-build = "2.0.0-beta.4" |
tauri-build = "2.0.0-rc.1" |
ビルドスクリプトのバージョン合わせです。 |
ポイント:
api-allは引き続き利用可能ですが、ツリ―シェイキング向上のため個別 API のインポートが推奨されます。
tauri.conf.json の差分とサンプル
| 項目 | ベータ版 | RC/安定版 |
|---|---|---|
build.beforeBuildCommand |
任意文字列(省略可) | 必須:例 "npm run build" |
security.csp |
"default-src 'self'"(省略可) |
デフォルトは null に変更。カスタム CSP が必要なら明示します。 |
bundle.mac.signingIdentity |
未設定 | 必須:Apple Developer ID の文字列を記入。 |
bundle.windows.msix |
false |
true にすると MSIX パッケージが生成されます。 |
tauri.updater |
なし | 新規項目 updater.active = true が追加され、自己更新機能が有効化します。 |
差分サンプル(JSON)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
{ "build": { "- beforeBuildCommand (beta)": null, "+ beforeBuildCommand (rc)" : "npm run build" }, "security": { "- csp (beta)" : "default-src 'self'", "+ csp (rc)" : null }, "bundle": { "mac": { "- signingIdentity (beta)" : null, "+ signingIdentity (rc)" : "Developer ID Application: Your Name (TEAMID)" }, "windows": { "- msix (beta)" : false, "+ msix (rc)" : true } }, "tauri": { "+ updater.active" : true } } |
npm / yarn / pnpm パッケージのバージョンアップ手順
- 対象パッケージを確認
bash
npm outdated | grep @tauri-apps - npm の場合は一括更新
bash
npm install @tauri-apps/cli@2.0.0-rc.1 @tauri-apps/api@2.0.0-rc.1 --save-dev - yarn / pnpm でも同様に
- Yarn:
yarn add -D @tauri-apps/cli@^2.0.0-rc @tauri-apps/api@^2.0.0-rc - PNPM:
pnpm add -D @tauri-apps/cli@2.0.0-rc.1 @tauri-apps/api@2.0.0-rc.1
必ず package.json の engines.node が ">=20" であることを確認してください。
マルチプラットフォームビルドとデプロイ手順
Tauri 2.0 は macOS、Windows、Linux の主要ディストリビューション向けに コードサイン・パッケージング を自動化します。以下では各 OS で必要な前提条件と実際のビルドコマンド例を示します。
macOS:codesign と notarization
- 証明書取得(Apple Developer →
Developer ID Application) - 環境変数設定(CI の場合はシークレットとして管理)
bash
export APPLE_DEVELOPER_CERT="Developer ID Application: Your Name (TEAMID)"
export NOTARY_API_KEY="<APIキー>"
export NOTARY_ISSUER_ID="<Issuer ID>" - ビルド & サイン
bash
tauri build --target aarch64-apple-darwin
codesign -s "$APPLE_DEVELOPER_CERT" target/release/bundle/macos/YourApp.app \
--deep --timestamp --options runtime - Notarization(Apple の
notarytool)
bash
xcrun notarytool submit target/release/bundle/macos/YourApp.zip \
--key "$NOTARY_API_KEY" --issuer "$NOTARY_ISSUER_ID" --wait
ポイント:
--timestampと--options runtimeを忘れないと notarization が失敗します。
Windows:MSIX / MSI の生成と署名
- Windows SDK + signtool(Visual Studio Installer 推奨)をインストール
- コードサイン証明書の準備(
.pfxファイルとパスワード) - ビルド & パッケージ生成
powershell
tauri build --target x86_64-pc-windows-msvc - 署名(MSIX が有効なら自動で生成された
.msix、それ以外は.msi)
powershell
$certPath = "C:\certs\mycode.pfx"
$pwd = "yourPassword"
signtool sign /f $certPath /p $pwd
/tr http://timestamp.digicert.com /td sha256 /fd sha256
target\release\bundle\msi\YourApp_1.0.0_x64_en-US.msi
tauri.conf.json の bundle.windows.msix: true が有効になっていれば、MSIX パッケージが自動生成されます。
Linux:AppImage と deb パッケージ
|
1 2 3 4 5 6 7 8 9 10 11 |
# すべてのターゲットを一括ビルド(例:x86_64 と aarch64) tauri build --targets x86_64-unknown-linux-gnu,aarch64-unknown-linux-gnu # AppImage の実行権限付与(CI で自動化可) chmod +x target/release/bundle/appimage/your-app.AppImage # deb パッケージの GPG 署名例 gpg --default-key YOUR_KEY_ID \ --output your-app_1.0.0_amd64.deb.sig \ --detach-sig target/release/bundle/deb/your-app_1.0.0_amd64.deb |
Linux 環境では、AppImage が最も汎用的ですが、配布対象が Debian 系なら deb 署名を併用すると信頼性が向上します。
テスト・CI/CD とリリース作業のベストプラクティス
安定版を公開する前に ローカルテスト → 自動化パイプライン → リリースノート作成 のフローを確立しておくと、ヒューマンエラーが激減します。ここでは推奨手順と実装例を示します。
ローカルテストとデバッグフロー
| 手順 | コマンド | 目的 |
|---|---|---|
| ユニットテスト(Rust) | cargo test |
ビジネスロジックの正当性確認 |
| 統合テスト(フロントエンド) | npm run test または pnpm exec vitest |
UI/JS API の動作検証 |
| Tauri アプリ起動デバッグ | tauri dev --verbose |
WebView 起動時の詳細ログ取得 |
| ビルド検証(デバッグビルド) | tauri build --debug |
出力サイズ・依存関係を確認 |
すべてが成功したら、次は CI へ移行します。
GitHub Actions 推奨ワークフロー例
以下の YAML は タグプッシュ (v2.0.x) 時に macOS・Windows・Ubuntu の全 OS でビルドし、GitHub Releases に自動アップロードするパイプラインです。シークレットは APPLE_DEVELOPER_CERT, NOTARY_API_KEY, NOTARY_ISSUER_ID, WINDOWS_PFX などを使用してください。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
name: Build & Release Tauri 2.0 on: push: tags: - 'v*' # v2.0.0 のようなタグが付いたときだけ実行 jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, windows-latest, ubuntu-latest] steps: - uses: actions/checkout@v4 # Node.js 設定 - name: Set up Node uses: actions/setup-node@v3 with: node-version: '20' # Rust ツールチェーン - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable with: components: clippy,rustfmt # Cargo キャッシュ(ビルド時間短縮) - name: Cache cargo registry uses: actions/cache@v3 with: path: ~/.cargo/registry key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }} restore-keys: ${{ runner.os }}-cargo- # npm 依存インストール - name: Install npm dependencies run: npm ci # ビルドコマンド(OS 毎にターゲット切替) - name: Build Tauri app env: APPLE_DEVELOPER_CERT: ${{ secrets.APPLE_DEVELOPER_CERT }} NOTARY_API_KEY: ${{ secrets.NOTARY_API_KEY }} NOTARY_ISSUER_ID: ${{ secrets.NOTARY_ISSUER_ID }} WINDOWS_PFX: ${{ secrets.WINDOWS_PFX }} run: | if [[ "${{ matrix.os }}" == "macos-latest" ]]; then tauri build --target aarch64-apple-darwin elif [[ "${{ matrix.os }}" == "windows-latest" ]]; then tauri build --target x86_64-pc-windows-msvc else tauri build --targets x86_64-unknown-linux-gnu,aarch64-unknown-linux-gnu fi # アセットを GitHub Release にアップロード - name: Upload release assets uses: softprops/action-gh-release@v2 with: files: | target/release/bundle/**/*.dmg target/release/bundle/**/*.msi target/release/bundle/**/*.AppImage target/release/bundle/**/*.deb |
リリースノート作成・タグ付け・GitHub Releases
- CHANGELOG.md に新バージョンの項目を追加(例:
## [v2.0.0] - 2026-06-24)。 - Git タグ作成
bash
git tag -a v2.0.0 -m "Release Tauri 2.0 stable"
git push origin v2.0.0 - 手動でリリースページを作る場合は、
New release → Draftに切り替えて CHANGELOG の該当セクションを貼り付け、先ほどのビルドアセット(.dmg,.msi,.AppImage,.deb)を添付します。 - CI が有効なリポジトリでは上記タグプッシュだけで自動的に GitHub Releases が生成されます。
よくあるエラーと対処法(Q&A)
| 質問 | 回答 |
|---|---|
依存関係の解決エラー (cargo: failed to select a version for …) |
cargo update -p <crate> でロックファイルを更新し、tauri migrate --force を再実行。Rust ツールチェーンは必ず最新(1.78)にしてください。 |
WebView2 が見つからない (Could not find Webview2 runtime) |
Windows に Microsoft Edge WebView2 Runtime が未インストールです。公式インストーラ https://go.microsoft.com/fwlink/p/?LinkId=2124703 を実行し、再起動後にビルドしてください。 |
macOS の notarization が失敗 (The Notarization request was rejected) |
証明書の有効期限切れや codesign に --timestamp が抜けていると発生します。証明書を更新し、サインコマンドに必ず --timestamp を付与してください。 |
Linux の AppImage が起動しない (Permission denied) |
ビルド後に実行権限が付与されていません。CI の最後のステップで chmod +x *.AppImage を追加しましょう。 |
まとめ
本稿では、Tauri 2.0 ベータ → 安定版 への移行に必要な 環境構築・マイグレーション・設定更新・マルチプラットフォームビルド・CI/CD の全工程を網羅しました。ポイントは次のとおりです。
- Node 20 LTS、Rust 1.78、Cargo 1.78 を各 OS で統一的にインストールする。
tauri migrate --dry-runで変更点を事前確認し、Git バックアップで安全性を確保。- Cargo.toml と tauri.conf.json の差分を手動でもチェックし、npm/yarn/pnpm のパッケージは RC 系に統一。
- OS 毎のコードサイン・ notarization 手順を正しく設定し、CI で自動化する。
- ローカルテスト → GitHub Actions → 自動リリースというフローで品質とデプロイ速度を最大化。
上記手順に沿って作業すれば、Tauri 2.0 の安定版へスムーズかつ安全に移行できるはずです。ぜひ本チェックリストを活用し、次世代デスクトップアプリの開発・配布を加速させてください。