удаление программ на Mac
обновлено · автор Anton Shakirov
перетащить приложение в корзину — значит убрать приложение. на месте остаются кэши, настройки, папки поддержки и объекты входа, разбросанные примерно по тридцати местам, куда вы не заглянете никогда. hop находит их и забирает с собой.

| what it is | app uninstaller inside hop, a menu bar app for macOS |
|---|---|
| price | free — no trial, no pro tier, no account |
| licence | MIT, source on GitHub |
| requires | macOS 14 or later, Apple silicon or Intel |
| works offline | yes |
| data sent anywhere | none |
в macOS нет деинсталлятора
команды «удалить» нет ни в Finder, ни в «Системных настройках», ни в командной строке. Apple советует проверить, не приехал ли у приложения собственный деинсталлятор, а если нет — вытащить его из папки с программами в корзину. это и есть весь официальный ответ.
инструкция Apple целиком (страница английская): как удалить программы на Mac
что на самом деле уносит корзина
сам бандл, и больше ничего. приложение пишет далеко за его пределами: настройки в одной библиотечной папке, кэши в другой, данные поддержки в третьей, собственный контейнер, если оно из App Store, иногда объект входа и фоновый помощник. вытащили бандл — всё это осталось лежать, где лежало.
чаще всего это просто мусор. изредка хуже: вы переустанавливаете приложение, чтобы его починить, а оно возвращается с теми же сломанными настройками, от которых вы и бежали, потому что старые его настройки никуда не девались.
что даёт командная строка
меньше, чем о ней думают. команда, к которой отсылают, — «pkgutil --forget», и её собственная страница справки говорит прямо: она выбрасывает запись о пакете, но установленных файлов не трогает. то есть заставляет macOS забыть, что установщик когда-то запускался. каждый файл, который тот установщик положил на диск, остаётся ровно там, где лежал.
поиск по ~/Library руками уходит дальше — и упирается во вторую стену: часть этих папок шелл не прочитает, пока у «Терминала» нет полного доступа к диску. спросите у него контейнер, на который прав нет, и он ответит «Operation not permitted», а со стороны это очень похоже на «здесь пусто».
что «--forget» делает и чего не делает (страница английская): forgetting a package — документация MacAdmins
почему шеллу нужно разрешение на эти папки (страница английская): как macOS управляет доступом приложений к файлам
стоит ли вообще ставить деинсталлятор
сделать это руками не стоит ни денег, ни качества. стоит это знания, что делать вообще есть что: куда macOS раскидывает куски, как достать идентификатор приложения из его Info.plist и в каком из трёх десятков мест этот идентификатор всплывёт. инструкция Apple обрывается на шаг раньше, чем обрывается сама задача.
остальная цена — риск: удаление руками заканчивается командой «rm» по пути, который вы вычислили сами, а у «rm» нет отмены. что из этого важнее, целиком зависит от того, что именно вы удаляете.
| что вам нужно | бесплатный путь | с hop |
|---|---|---|
| удалить приложение, взятое в App Store | вытащить его и удалить одну папку в ~/Library/Containers — два перетаскивания, и всё | не нужен — оставьте эти два перетаскивания |
| бесплатный деинсталлятор, которому вы уже доверяете | AppCleaner делает ровно это годами и не стоит ничего | менять ради одного этого незачем |
| сделать это из командной строки | запускать нечего: «pkgutil --forget» выбрасывает запись и оставляет все файлы | одно перетаскивание на строку |
| удаление, которое можно отыграть назад | «rm» необратим, и чистильщик, который отрапортовал числом и пошёл дальше, тоже | всё уходит в корзину, поэтому ошибка стоит восстановления |
| сделать работу без целого комбайна для обслуживания | платные чистильщики продают удаление внутри подписки с двумя десятками других инструментов | один модуль бесплатного приложения, без аккаунта |
коротко: приложения из App Store — это два перетаскивания, и помощь тут не нужна. если на Mac уже стоит AppCleaner, оставьте его. отдельный деинсталлятор отрабатывает своё место на всём остальном: на программах, поставленных с сайта разработчика, на приложениях, удалённых год назад, чьи папки до сих пор лежат, и на любом удалении, которое вы хотели бы иметь возможность отменить.
другая беда, и её не решает ни один деинсталлятор: когда приложение не хочет уходить в корзину
что удаление программ в hop забирает
вы отдаёте ему приложение и видите весь хвост, который оно отрастило, — до того, как хоть что-то сдвинется: каждый оставленный по системе кусок со своим весом рядом. одно подтверждение отправляет всё это в корзину разом. это и превращает «да наверное можно» в решение, которое вы действительно можете принять.
какая кнопка что делает, как читается список остатков и что будет с удалением, брошенным на полпути, — подробная инструкция на вашем языке: удаление программ в инструкции
места, по которым он проходит, — те самые, куда приложения и пишут: application support, кэши, настройки, контейнеры, агенты запуска, плагины, чеки установки и остальное, всего около тридцати.
то, что macOS отдавать отказалась, названо вместе с причиной, а не пропущено молча: деинсталлятор, который рапортует об успехе по всем пунктам, кому-то рассказывает сказку.
приложение, уже лежащее в корзине, тоже опознаётся, поэтому брошенное на полпути удаление можно довести до конца. как и остатки давно ушедших программ: они перечислены отдельно, и бандла, по которому их можно было бы опознать, уже нет.
он переносит в корзину, а не стирает
деинсталлятор, который удаляет сразу и насовсем, отстоит на один неверный клик от испорченного дня. всё, что hop уносит, уходит в корзину, поэтому ошибка стоит восстановления, а не файла, — и поэтому же окно подтверждения перечисляет куски, а не считает их.
размеры, чтобы видеть, куда ушло место
бандл и его данные, взвешенные отдельно
у каждого приложения в списке написано, сколько оно весит, причём бандл и его данные посчитаны по отдельности. приложение на двести мегабайт, сидящее на шести гигабайтах кэша, — обычное дело и невидимое. освободит ли его удаление что-нибудь стоящее, вы узнаёте до, а не после.
можно и просто почистить кэш одного приложения, не трогая ничего другого из его добра; крупное сверху. выручает, когда с приложением всё в порядке и распухла только его кэш-папка. тот же модуль показывает установщики, забытые в загрузках, на рабочем столе и в документах, и корзину с её размером.
если вы гоняетесь за той самой цифрой, которую macOS называет системными данными: разобраться, чем заняты системные данные
это деинсталлятор, а не чистильщик
hop не обещает ускорить ваш Mac, освободить загадочные гигабайты или починить неприятности, о которых вы не знали. эти обещания принадлежат жанру программ, который свою репутацию заработал честно.
здесь убирают приложение и то, что оно после себя оставило. это вся работа целиком. приложение собрано из отдельных модулей, каждый из которых делает одну вещь, и за диском с памятью следит другой. он показывает цифры и не продаёт вам средство от них.
модуль, который вместо этого следит за цифрами: монитор системы для Mac
чем он отличается от других деинсталляторов для Mac
AppCleaner бесплатен, делает это хорошо уже много лет, и если вам хватает его, менять незачем.
платные чистильщики заворачивают удаление в комбайн для обслуживания — сканирование, чистка, оптимизация — и берут подписку за всё сразу.
этот модуль для тех, кто хочет, чтобы работа была сделана без ещё одного значка в строке меню, — и кто предпочитает, чтобы удалённое уходило в корзину, а не из бытия. он бесплатен, аккаунта не просит и приезжает вместе с восемнадцатью другими вещами, которые умеет hop.
frequently asked questions
- есть ли на Mac встроенный деинсталлятор?
- нет. в macOS нет команды удаления ни в Finder, ни в «Системных настройках». Apple советует воспользоваться собственным деинсталлятором приложения, если он приехал вместе с ним, а иначе перетащить приложение в корзину — и всё, что приложение написало за пределами бандла, останется лежать.
- можно ли удалить программу на Mac через «Терминал»?
- по-настоящему — нет. обычно советуют «pkgutil --forget», а её справка говорит, что она выбрасывает запись о пакете и не трогает установленные файлы. к тому же часть библиотечных папок она не прочитает, пока у «Терминала» нет полного доступа к диску.
- файлы удаляются насовсем?
- нет. всё переезжает в корзину, поэтому удалённое по ошибке можно вернуть.
- найдёт ли он файлы, оставленные приложением месяцы назад?
- он смотрит примерно в тридцати местах, куда обычно пишут программы для Mac, и перечисляет остатки уже ушедших приложений отдельно. того, что приложение намеренно спрятало в необычном месте, он не найдёт.
- можно ли удалить приложение, которое уже в корзине?
- да. hop его всё равно опознаёт, поэтому недоделанное удаление можно довести до конца.
- ускорит ли это мой Mac?
- нет, и притворяться не хочется. он убирает приложения и их остатки, а это освобождает место. скорость — другая задача.
- можно ли почистить только кэш приложения?
- да, не трогая ничего другого из его добра. список отсортирован от крупного.
- сколько стоит это удаление программ?
- нисколько. hop бесплатен, с открытым исходным кодом, аккаунта не просит и телеметрии не шлёт, а удаление программ — один из его модулей, а не платный тариф.
other tools in hop
- vpn switcherevery vpn your Mac knows about, one switch each.
- clipboard historyeverything you copied — text, links, screenshots and whole files.
- screenshotsan area, a window or the whole screen — marked up before it leaves the screen.
what people do with this
об авторе

Anton Shakirovсоздаёт hop
создаёт hop и все страницы этого сайта. девятнадцать инструментов под одной иконкой в menu bar, MIT и открытый код. на issue и письма отвечает сам.