メインコンテンツへ移動

こちらはMole Macの公式サイトですが、Windows版のサイトへ移動しますか?

Windows版サイトへ
Mole
MacWindows
機能 検証 評判 価格 FAQ ブログ
EnglishEN 简体中文中 繁體中文繁 日本語日 한국어한 FrançaisFR DeutschDE ItalianoIT EspañolES PortuguêsPT NederlandsNL
購入 ダウンロード

    ヘルプ、ドキュメント、リリース、記事

    ブログ

    .pkg パッケージでインストールした Mac アプリを削除する

    アンインストール公開日 2026年9月6日更新日 2026年9月26日約11分で読めます

    .pkg インストーラで入ったアプリは、ディスクイメージからドラッグしたアプリとは別物です。インストーラは root として動き、パッケージが指示する場所ならどこにでも書き込めて、インストールした内容の記録をインストーラのレシートデータベースに残します。アプリをゴミ箱にドラッグしても、その記録からフォルダが1つ減るだけで、残りは記録そのものも含めてそのままです。この記事で扱うのはこのケースです。パッケージでインストールされたかどうかの見分け方、ディスクに何が置かれたかの読み方、削除するものと残すものを説明します。Finder がそもそも削除を拒否する場合や、削除したアプリが戻ってくる場合は、先に Mac アプリがアンインストールできないとき を、自分でドラッグして入れたアプリなら、完全にアンインストールするためのガイド の通常の手順を参照してください。

    ゴミ箱だけでは足りない理由

    パッケージは、アプリの中だけでなく、アプリの隣にもファイルを置けます。公式インストーラでアプリを入れ直して削除し直したとき、Zoom の公式パッケージは zoom.us.app の外に3つの launchd ジョブと特権ヘルパー us.zoom.ZoomDaemon を残しました。Logi Options+ のインストーラは、独自のレシートと独自の LaunchAgent を持つ別製品 LogiRightSight もインストールしていました。DisplayLink Manager は /Library/LaunchAgents に LaunchAgent を追加しました。Microsoft Office は、Word、Excel、PowerPoint がすべて読み込む共有フレームワークのパッケージをインストールし、Microsoft AutoUpdate とライセンス用のヘルパーもいっしょに入ります。アプリのバンドルを移動しても、これらはどれも動きません。

    レシートも動きません。レシートはインストーラ自身のデータベースにあり、記録しているファイルとは別の場所にあるので、アプリを削除しても pkgutil はパッケージがまだインストールされていると報告します。DisplayLink の公式アンインストーラを問題なく最後まで実行したあとも、2つのレシートは残っていました。

    Finder でパスワードを求められるのも、パッケージを相手にしているしるしです。インストーラは root として動いたので、残されたバンドルは root の所有になり、移動するには認証が必要です。これは正常な動作で、アンインストールのトラブルシューティングガイド で扱っています。

    パッケージでインストールされたか確認する

    まず、レシートの一覧とアプリ自身のパスを確認します。

    pkgutil --pkgs | grep -i zoom
    pkgutil --file-info /Applications/zoom.us.app
    

    pkgutil --pkgs は、インストーラが起動ボリュームに記録したすべてのパッケージ ID を一覧表示します。アプリのバンドル識別子だけでなく、ベンダー名と製品名でも検索してください。両者がまったく似ていないことがよくあるからです。Zoom のアプリは us.zoom.xos で、レシートは us.zoom.pkg.videomeeting です。Cookie.app をインストールするレシートは app.fantasticthing.Bookkeeping です。大文字と小文字まで違うこともあります。爱思助手(i4Tools)のバンドル識別子は cn.i4Tools.mac、レシートは cn.i4tools.mac で、pkgutil は ID を完全一致で照合するので、大文字混じりの綴りで問い合わせると、レシートがそこにあるのに「No receipt」と返ってきます。ID は手で打たず、--pkgs の出力からコピーしてください。

    pkgutil --file-info は本来、パスの下の pkgid: 行で、そのパスをインストールしたパッケージを示すはずです。答えがないことを「パッケージ由来ではない」と読まないでください。macOS 27 では、ほとんどのパスについて、削除済みか存在するかに関係なく volume と path しか表示されないことが分かりました。DisplayLink Manager のアプリもこの空の答えになり、そのとき2つのレシートはまだ Mac に残っていました。また、レシートがあるからといって、自分で .pkg を実行したとは限りません。Mac App Store も、com.apple.pkg.TestFlight のように一部のアプリでレシートを残します。

    レシートに記録されているもの

    1つのパッケージが何をどこにインストールしたかは、2つのコマンドで分かります。

    pkgutil --pkg-info us.zoom.pkg.videomeeting
    pkgutil --files us.zoom.pkg.videomeeting
    

    --pkg-info は、パッケージ ID、バージョン、volume、location、インストール日時を表示します。--files が表示するパスはそのボリュームと場所からの相対パスなので、実際のパスはこの3つをつなげたものです。場所が Applications のレシートは Foo.app/Contents/... と表示し、場所が空のレシートは Applications/Foo.app/... と表示します。一覧を読む前に場所を確認しないと、調べるパスがすべてずれてしまいます。

    一覧にはファイルだけでなくディレクトリも含まれます。--only-files と --only-dirs で両者を分けられます。レシートが Library や Library/LaunchAgents そのものを載せることがあると分かれば、その便利さが分かるはずです。元の記録は /private/var/db/receipts に、パッケージごとの .bom と .plist として置かれていますが、pkgutil のマニュアルには、レシートファイルの場所は変わることがあるので必ず pkgutil を通して問い合わせるように、と書かれています。

    レシートは地図であって、削除リストではない

    pkgutil --files の出力をループに流し込んで、すべて削除したくなるかもしれません。パッケージのアンインストールでほかのものを壊すのは、こういうやり方をしたときです。一覧が示すのは、このパッケージが書き込んだものであって、このパッケージだけが使うものではありません。

    一覧に含まれるもの そのまま削除できない理由
    Applications、Library、Library/LaunchAgents などのディレクトリ パッケージが作成したり触れたりしたが、Mac のほかのアプリもすべて使っている
    ベンダーが複数のアプリで共有するフレームワークやヘルパー Word、Excel、PowerPoint はどれも Office の共有フレームワークを読み込み、それがないと起動時にクラッシュする
    複数のアプリで共有されるコンテンツ GarageBand、Logic Pro、MainStage、Final Cut Pro は /Library/Application Support/GarageBand、/Library/Application Support/Logic、/Library/Audio/Apple Loops を共有していて、com.apple.pkg.MAContent10_* のレシートに記録されている
    同じインストーラが持ち込んだ別製品 LogiRightSight は Logi Options+ といっしょに入り、単独でも動き続ける
    LaunchAgent とデーモンの plist 読み込まれたジョブは plist を移す前に止める必要があり、そうしないと launchd はディスク上に実体のないジョブを抱え続ける

    一覧には漏れもあります。記録されるのは、パッケージのペイロードがディスクに置いたものです。インストーラのスクリプトはそれ以上のことができ、パッケージはそれを含んでいます。たとえば Foxit のパッケージには postinstall スクリプトとアップデートサービスがあります。アプリは動き始めると、ホームのライブラリに自分のデータを書き込みますが、それはどのレシートにも載りません。そちら側については Mac アプリ削除後の残骸ファイルを片付ける を参照してください。

    まずベンダーのアンインストーラを使う

    Apple のアプリの削除に関する案内は、この点をはっきり述べています。アプリにアンインストーラが含まれている場合は、「それがアプリと、アプリがほかの場所に保存している可能性のあるログイン項目、機能拡張、その他のデータを削除する最善の方法」だというのです。パッケージでインストールされるソフトウェアには、アンインストーラが付いていることがよくあります。ベンダーは自社のスクリプト、ヘルパー、共有部分を把握しているからです。パッケージが入っていたディスクイメージ、「アプリケーション」にあるそのアプリのフォルダ、/Applications/Utilities、アプリ自身のメニュー、ベンダーのサポートサイトを探してください。たとえば Splashtop Personal は、アンインストーラをパッケージと同じディスクイメージに入れています。

    すでにアプリをゴミ箱にドラッグしていたら、ファイル › 戻す で元に戻し、アプリを開いて、そこからアンインストーラを実行します。セキュリティソフト、VPN クライアント、ドライバでは、ベンダーのツールは省略できません。機能拡張やネットワークフィルタは、それを所有するアプリを通じてしか外せないからです。これについては Mac でネットワークを壊さずにアンチウイルスをアンインストールする方法 で扱っています。

    手作業で削除する

    アンインストーラがない場合は、レシートがどこを見ればよいかを教えてくれます。次の順序で進めます。

    1. アプリと、それがバックグラウンドで動かしているものをすべて終了します。
    2. --pkg-info で場所を、--files で一覧を確認し、アプリのバンドル外にあるパスを書き留めます。
    3. 一覧にある LaunchAgent やデーモンは、plist を移す前に launchctl bootout でジョブの読み込みを解除します。順序が大切な理由は、トラブルシューティングガイドの launchd の節 で説明しています。
    4. ゴミ箱に入れるのは、明らかにこの製品のものだけです。アプリのバンドル、バンドル識別子や製品名にちなんだ名前のフォルダと plist、/Library/PrivilegedHelperTools にあるそのヘルパーなどです。共有の親フォルダや、ベンダーのほかのアプリがまだ使っているものは残します。pkgutil --pkgs | grep -i vendorname で、同じベンダーのほかのパッケージがまだインストールされているか分かります。残っていれば、その共有フレームワークは残してください。
    5. 一覧にあるものが何も残っていないことを確かめてから、最後にレシートを消去します。
    sudo pkgutil --forget com.vendor.pkg
    

    --forget はレシートを破棄するもので、マニュアルの言葉を借りれば「インストールされたファイルには触れない」ものです。先に実行すると、ファイルはすべてそのまま残り、それを指す記録がなくなるので、残りの作業が難しくなります。/private/var/db/receipts は root の所有なので sudo が必要で、ID は --pkgs の綴りとまったく同じでなければなりません。古いレシートにユーザーデータは含まれていないので、一覧にあるものがまだ使われているか分からない場合は、レシートを残しておいても何も困りません。

    結果を確認する

    以下のコマンドは読み取るだけです。com.vendor.pkg と vendorname は、上で見つけたものに置き換えてください。

    id=com.vendor.pkg
    loc=$(pkgutil --pkg-info "$id" | sed -n 's/^location: //p')
    pkgutil --files "$id" --only-files | while IFS= read -r f; do
      p="/${loc:+$loc/}$f"
      [ -e "$p" ] && echo "$p"
    done
    pkgutil --pkgs | grep -i vendorname
    ls /Library/LaunchAgents /Library/LaunchDaemons /Library/PrivilegedHelperTools | grep -i vendorname
    launchctl list | grep -i vendorname
    launchctl print system | grep -i vendorname
    

    ループは、レシートにあるファイルのうちまだ存在するものを、完全なパスで表示します。出力がなければペイロードはなくなっていて、レシートを消去しても問題ありません。アプリのバンドル内のパスが出たら、アプリはまだインストールされています。それ以外の場所のパスは、削除で漏れたものか、ほかのアプリと共有しているために残すと決めたものです。pkgutil が「No receipt for ... found」と返したら、レシートはすでに消去されているか、ID の綴りが違います。ls と launchctl の行は、レシートに一度も載らなかったヘルパーを拾うためのものです。launchctl list には自分の LaunchAgent が、launchctl print system にはデーモンが表示されます。どちらかに行が出れば、そのジョブはまだ読み込まれたままで、最初の列が0以外の数字ならいま動いています。

    Mole でのパッケージ由来アプリの扱い

    Mole でアプリを削除すると、アプリのバンドル識別子か製品名に一致する名前のレシートを読み、そこに記録されたパスのうちまだ存在するものを一覧に表示します。ただし範囲は限られています。「アプリケーション」にあるアプリのバンドルと、/Library の下では、そのバンドル識別子と正確に同じ名前の Application Support、Caches、Logs、PrivilegedHelperTools、WebKit、HTTPStorages の各フォルダ、それに Preferences、LaunchAgents、LaunchDaemons の plist だけです。これらの行はチェックなしで表示されるので、読んだうえで1つずつチェックします。/Users、/opt、/usr、/private の下のパスがレシートから行になることはなく、レシートファイル自体も同様です。

    アプリがなくなったあと、Mole は、そのバンドル識別子の名前のレシートを、pkgutil がディスク上に持っている綴りで消去します。pkgutil --file-info で見つけたベンダーのレシートも消去しますが、こちらはそのレシートにあるファイルがどれも存在しない場合に限ります。これを行うのは、その削除のために管理者ヘルパーがすでに認証されている場合だけなので、レシートのために余計なパスワード入力を求めることはありません。ベンダーのレシートを探す際、Apple の com.apple.* レシートは対象外です。

    限界は上で述べたとおりです。macOS 27 では pkgutil --file-info がほとんど答えを返さないため、ID がアプリとまったく関係ないレシートは、Mole がアプリを削除したあとも残ることがあります。DisplayLink の2つと Zoom の1つがそうでした。これらは記録にすぎず、sudo pkgutil --forget で消せます。ドライバ、VPN クライアント、セキュリティソフトについては、Mole はベンダーのアンインストーラの代わりにはなりません。

    よくある質問

    pkgutil --forget でアプリはアンインストールされますか?

    いいえ。マニュアルによると、パッケージのレシートデータをすべて破棄しますが、インストールされたファイルには触れません。ファイルがなくなってから実行するもので、ファイルを削除する代わりに使うものではありません。

    pkgutil --files に表示されるファイルは全部削除してもいいですか?

    いいえ。一覧には Library や Applications のようなシステムのディレクトリ、ベンダーのほかのアプリが読み込むフレームワーク、まだ動いているかもしれないジョブの plist が含まれます。確認すべきものを見つけるために使い、そのうえでこの製品だけのものを削除してください。

    アプリはもうないのに、pkgutil --pkgs にまだ表示されます。まだインストールされているのですか?

    そうとは限りません。ファイルを削除してもレシートは更新されないので、誰かが消去するまで残ります。上の確認用ループを実行して、レシートにあるものが何も残っていなければ、残っているのは記録だけで、sudo pkgutil --forget で削除できます。

    Macアプリを削除してもファイルが残るときは、Moleを試してみてください。私自身が900本のMacアプリをテストし、確認しています。

    Mole を試す

    続きを読む

    • アンインストールMacアプリを完全にアンインストールする方法|残骸も安全に削除約8分で読めます
    • アンインストールMac アプリの残存ファイルは、削除前に一覧を確認約7分で読めます
    • アンインストールゲームとセーブデータを残してMacからSteamを削除する方法約5分で読めます

    Mole · 鼹

    Mac をすっきり軽快に

    v1.20.0 (371) · リリース

    製品

    Macクリーナー アプリアンインストーラ Macメンテナンス ディスク解析 システムモニター

    サポート

    ヘルプ ドキュメント リリース ブログ

    規約

    利用規約 プライバシーポリシー 返金ポリシー

    リソース

    Windows版 CLIツール ストレージ価格換算 アフィリエイトプログラム

    つながる

    Twitter hi@mole.fit

    Moleの公式サイトはここだけ mole.fit、提供元が不明なインストーラはダウンロードしないでください

    ターミナル向けのCLIは、これからも無料です。