Tauri のプラグインを使用するための一般的な手順を解説します。プラグインは通常、Rust 側のロジック(クレート)とフロントエンド側のインターフェース(npm パッケージ)の両方で構成されています。
1. インストール
Tauri のプラグインは、「Rust 側(バックエンド)」と「JavaScript 側(フロントエンド)」の2つの部品で構成されています。
- Rust 側: 実際のネイティブ機能(ファイル操作、OS情報取得など)を実行する実体。
- JavaScript 側: Rust 側の機能をフロントエンドから呼び出すためのインターフェース。
そのため、JavaScript パッケージ (npm install) だけでは動作しません。必ず Rust 側のクレート (cargo add) も追加する必要があります。
Tauri CLI の add コマンドを使用すると、これら両方のインストールと設定を自動で行ってくれるため推奨されます。
# npm を使用している場合(推奨)
# 内部で Rust 依存関係と JS 依存関係の両方を追加します
npm run tauri add os
もし手動でインストールする場合は、両方のコマンドを実行する必要がある点に注意してください。
# 手動で行う場合(あくまで参考)
cargo add tauri-plugin-os
npm install @tauri-apps/plugin-os
2. Rust 側での登録
src-tauri/main.rs (または lib.rs) でプラグインをビルドプロセスに登録します。
fn main() {
tauri::Builder::default()
// プラグインの初期化関数を渡す
.plugin(tauri_plugin_os::init())
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
※ プラグインによっては init() ではなく Builder::new().build() などの形式を取る場合もあります。各プラグインのドキュメントを確認してください。
3. 権限の設定 (Capabilities)
Tauri v2 では、各プラグインを使用するために明示的な権限設定が必要です。src-tauri/capabilities/default.json などの設定ファイルに追記します。
{
"permissions": [
...,
// 必要な権限を追加 (例: すべて許可)
"os:default",
// または特定の操作のみ許可
// "os:allow-platform",
// "os:allow-version"
]
}
4. フロントエンドでの使用
JavaScript/TypeScript コードからプラグインの API を呼び出します。
import { platform, version } from '@tauri-apps/plugin-os';
const osPlatform = await platform();
const osVersion = await version();
console.log(`Platform: ${osPlatform}, Version: ${osVersion}`);
トラブルシューティング
トラブルシューティング
ビルドエラー
Rust 側のcargo add と JavaScript 側の npm install の両方が完了しているか、バージョンが整合しているか確認してください。
コマンドが見つからない (Command not found)
プラグインがsrc-tauri/src/lib.rs (または main.rs) で正しく初期化 (.plugin(...)) されていない可能性があります。Tauri v2 のテンプレートでは通常 lib.rs に記述します。
権限エラー (Permission Denied)
Tauri v2 では権限管理(Capabilities)が必須です。以下の2点を確認してください。1. src-tauri/capabilities/default.json (または任意の権限ファイル) に、対象プラグインの権限(例: os:default)が記述されているか。
2. tauri.conf.json の app.security.capabilities に、その権限ファイルの名前(識別子)が含まれ、有効化されているか。