Michael Charles Aubrey

https://MichaelCharl.es/Aubrey

macOSにおけるTauriのパスヘルパー関数のマッピング

macOSにおけるTauriのパスヘルパー関数のマッピング

Michael Charles Aubrey // Mon Nov 11 2024

Tauri v2 でデスクトップアプリを作っているのですが、ファイルシステム API の扱いにはずっと苦労していました。@tauri-apps/api/pathには、appCacheDir()appConfigDir()など、よく使うディレクトリを取得するヘルパー関数がそろっています。公式ドキュメントもあるのですが、最初は見つけられませんでした。しかも、どの関数が実際にどこのパスに対応するのか、ぱっと見ではわかりにくい構成です。

ここでは、tauri.conf.jsoncom.example.myappのような識別子を設定してあるものとします。

macOS で各ヘルパー関数がどこを指すのかを確かめたくて、小さなユーティリティ関数を書いてみました。実行するとこうなりました。

appCacheDir() -> /Users/{username}/Library/Caches/com.example.myapp
appConfigDir() -> /Users/{username}/Library/Application Support/com.example.myapp
appDataDir() -> /Users/{username}/Library/Application Support/com.example.myapp
appLocalDataDir() -> /Users/{username}/Library/Application Support/com.example.myapp
appLogDir() -> /Users/{username}/Library/Logs/com.example.myapp
audioDir() -> /Users/{username}/Music
cacheDir() -> /Users/{username}/Library/Caches
configDir() -> /Users/{username}/Library/Application Support
dataDir() -> /Users/{username}/Library/Application Support
desktopDir() -> /Users/{username}/Desktop
documentDir() -> /Users/{username}/Documents
downloadDir() -> /Users/{username}/Downloads
executableDir() -> Error: unknown path
fontDir() -> /Users/{username}/Library/Fonts
homeDir() -> /Users/{username}
localDataDir() -> /Users/{username}/Library/Application Support
pictureDir() -> /Users/{username}/Pictures
publicDir() -> /Users/{username}/Public
resourceDir() -> /Users/{username}/Projects/personal/myapp/src-tauri/target/debug
tempDir() -> /var/folders/wk/{temp_folder}/T/
templateDir() -> Error: unknown path
videoDir() -> /Users/{username}/Movies

気づいた点をいくつか。

  1. アプリ固有のディレクトリ(appCacheDirappConfigDirなど)は、標準のシステムパスの末尾にアプリの識別子が付きます
  2. executableDirtemplateDirは macOS では利用できません
  3. 開発中のresourceDirは、デバッグビルドのディレクトリを指します
  4. 複数のディレクトリが同じ場所を指すことがあります(例:appConfigDirappDataDirappLocalDataDir

Linux、そして特に Windows では、これらのパスは違うはずです。時間ができたら、その辺りも調べて続編を書きたいところです。とりあえず、macOS で Tauri を触っている方の参考になればうれしいです。

Michael Charles Aubrey

Developer at Maki
Based in Akita, Japan

Connect

© 2026 Michael Charles Aubrey. All rights reserved.

Born in Florida 🏝️ • Lives in Akita 👹