Tauri

Tauri 2.0アップグレードガイド: ステップバイステップ解説

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

Tauri 2.0 アップデート方法のステップバイステップガイド

Rust言語でクロスプラットフォームアプリケーションを開発する開発者にとって、Tauri 2.0へのアップグレードは必須の課題です。本記事では、公式ドキュメントに基づいた最新アップデートプロセスを具体的に解説します。特に、主要な変更点や構成ファイルの修正手順、コンパイルエラー対応策など、実践的な知識をお伝えします。


Tauri 2.0リリースノートの主要変更点

Tauri 2.0は、安定性とセキュリティの向上に焦点を当てたバージョンです。以下に主な変更点を技術的観点から整理しました。

APIの破壊的変更

  • Windowの構築方法が変更された。以前はtauri::window::WindowBuilderを使用していたが、現在はtauri::api::window::Windowモジュールを直接利用するようになった。
  • GlobalShortcut APIが非推奨となり、代わりにtauri::command::global_shortcutの新しい実装が採用された。

セキュリティ強化機能

  • アプリケーション内のファイルアクセス制限が厳格化され、allow属性で許可されるディレクトリが明示的に設定されるようになった。
  • WebviewのJavaScript実行を制御するため、tauri::api::webview::Webviewunsafe_scriptフラグが追加された。

パフォーマンス改善内容

  • 起動時間が20%短縮(公式ベンチマーク結果)。これには、初期化プロセスの最適化とリソース管理アルゴリズムの見直しが寄与している。

プロジェクト構成ファイルの更新手順

Tauri 2.0にアップグレードする際は、Cargo.tomltauri.conf.jsonなどの構成ファイルを修正する必要があります。以下に具体的な手順を解説します。

Cargo.tomlの依存関係修正

  1. Tauri CLIとライブラリのバージョンを2.x.xに更新します。
    toml
    [dependencies]
    tauri = "2.0.0"
    tauri-cli = "2.0.0"

  2. tauri crateのデフォルトバージョンが変更されている場合、以下のように指定します。
    toml
    [features]
    tauri = ["tauri/runtime-native"]

tauri.conf.jsonの設定項目変更

  • securityセクションに新しい制限パラメータを追加します。
    json
    "security": {
    "fileAccess": {
    "allowDirs": ["/home/user/data", "/Users/user/Documents"]
    }
    }

  • webviewの設定でJavaScriptの実行許可を指定します。
    json
    "webview": {
    "unsafeScript": false
    }

ビルドスクリプトの調整

  • プラットフォームごとのビルドスクリプトに、rustcのバージョンチェックを追加します。
    bash
    # build.rs
    if !cargo +nightly --version | grep -q "1.60"; then
    echo "Rust version must be at least 1.60"
    exit 1
    fi

依存ライブラリのバージョン対応策

Tauri 2.0では、一部のエコシステムライブラリとの互換性が向上しています。以下の手順で依存関係を整理します。

Tauri CLIツールのアップグレード

  • tauri-cliを最新版に更新します。
    bash
    cargo install tauri-cli@2.0.0

互換性のあるエコシステムライブラリ選定

ライブラリ 対応バージョン 備考
tauri-plugin-notification 3.0.0 Tauri 2.0との互換性あり
tauri-plugin-dialog 3.1.0 新しいAPIが利用可能

公式リリースノート(https://github.com/tauri-apps/tauri/releases/tag/v2.0.0)に記載されているバージョン番号を確認してください。

コンフリクトする依存関係の解決

  • Cargo.tomlでコンフリクトを回避する方法として、[patch.crates-io]にバージョン制限を設定します。
    toml
    [patch.crates-io]
    serde = "1.0"

コンパイルエラーの解決方法

Tauri 2.0へのアップグレードでは、いくつかのコード変更が必要です。以下に代表的なエラーメッセージとその対応策を紹介します。

共通するエラーメッセージケース

  • error[E0432]: unresolved import: 指定されたモジュールが見つからない場合、tauri::apiに移動したモジュールを再確認してください。

rust
// 不正なインポート例
use tauri::window::Window;

// 正しいインポート例 (2.0以降)
use tauri::api::window::Window;

  • **error[E0605]: non-primitive cast:Stringas&str**: 型キャストが必要な場合、as_str()メソッドを使用します。

rust
let s = String::from("test");
let slice: &str = s.as_str();

モジュールパスの修正手順

  • 以前はtauri::windowだったモジュールが、tauri::api::windowに移動しているため、経路を確認してください。

アプリケーション動作確認チェックリスト

アップグレード後のアプリケーションは、以下の項目で動作検証を行います。

基本的な起動テスト

  • Windows/macOS/Linuxのすべてのプラットフォームでアプリが起動するかを確認します。
  • ターミナルでtauri devを実行し、エラーがないことをチェック。
  • ログにTauri 2.0 initializedと表示されることを確認。

プラットフォーム固有機能の検証

  • WebviewのJavaScript制御や、ファイルアクセスのセキュリティ設定が正常に動作するかテストします。
  • unsafeScript: trueでJavaScript実行を許可した場合、alert("test")が表示されることを確認。

パッケージング後の動作確認

  • tauri buildでパッケージング後に、生成されたEXEやAppバンドルを実行します。
  • デバッグモードで起動し、初期表示・イベント処理の検証。

検証時にエラーが発生した場合は、tauri dev --debugコマンドでデバッガを起動し、詳細なログを確認してください。


スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Tauri