我用以下方法证明了 如果用 homebrew 装软件,就卸载不干净了? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing ember  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
zzz6519003

我用以下方法证明了 如果用 homebrew 装软件,就卸载不干净了?

  •  
  •   zzz6519003 Sep 17, 2023 11538 views
    This topic created in 955 days ago, the information mentioned may be changed or developed.

    用 brew 安装 qq 音乐(brew install qqmusic),登陆账号

    删除 qq 音乐

    重新安装 qq 音乐

    你会发现你的 qq 音乐依然是登陆后的状态

    Supplement 1    Sep 17, 2023
    相反:

    如果 你在 QQ 音乐下官网 app ,用 dmg 安装

    用习惯的方式直接删除,再安装,就不会有登陆信息
    60 replies    2023-09-19 18:10:52 +08:00
    crysislinux
        1
    crysislinux  
       Sep 17, 2023 via Android   2
    这很正常啊,homebrew 管不了应用程序往哪儿写文件
    lovestudykid
        2
    lovestudykid  
       Sep 17, 2023
    brew uninstall --zap
    另外根据 homebrew 的 leader
    > I strongly disagree. Most package managers do not do this.
    vitovan
        3
    vitovan  
       Sep 17, 2023   1
    brew uninstall vim 也不会删除你的配置文件吧。
    lovestudykid
        4
    lovestudykid  
       Sep 17, 2023   3
    电子洁癖该治治
    Kaiv2
        5
    Kaiv2  
       Sep 17, 2023
    用户数据文件一般不是放在软件安装目录。你应该搜索 mac 文件目录结果,mac 下如何彻底删除 *** 软件
    musi
        6
    musi  
       Sep 17, 2023 via iPhone   1
    你在 QQ 音乐下官网 app 也这样
    你这证明方法一点都不严谨
    kingfalse
        7
    kingfalse  
       Sep 17, 2023 via Android
    这都接受不了,直接放虚拟机得了。
    bao3
        8
    bao3  
       Sep 17, 2023 via iPhone
    你去网易音乐,手动下载 dmg ,你手动安装,你再卸载,你看你是不是证明了网易音乐是个流氓软件。
    weeei
        9
    weeei  
       Sep 17, 2023
    @crysislinux brew 的脚本是网友维护的,如果发现不干净可以提交 PR 完善一下
    sanshao124
        10
    sanshao124  
       Sep 17, 2023 via iPhone
    从来不用 homebrew ,几乎不安装 pkg 的安装包,卸载用卸载软件,然后自己再把系统文件夹查一遍有没有残留
    crysislinux
        11
    crysislinux  
       Sep 17, 2023 via Android
    @weeei 这里是应用程序打开后再写入的文件,早都超了 brew 的范围了,除非让应用在一个虚拟文件系统跑,不然没办法。
    mschultz
        12
    mschultz  
       Sep 17, 2023
    登录信息一般是存储在 macOS Keychain 里的吧(我没就 QQ Music 这一具体应用进行验证,但的确有不少软件是这么做的)
    zzz6519003
        13
    zzz6519003  
    OP
       Sep 17, 2023
    @musi 试过了
    tlerbao
        14
    tlerbao  
       Sep 17, 2023
    我都用 app cleaner 卸载哈
    mokiki
        15
    mokiki  
       Sep 17, 2023   10
    这说明解耦做得好,程序文件和用户数据是两码事
    zsdroid
        16
    zsdroid  
       Sep 17, 2023
    难道拆马桶要把已经在化粪池里的屎还原?
    kenvix
        17
    kenvix  
       Sep 17, 2023
    这又不是手机端,你怎么管 app 往哪写?
    uxstone
        18
    uxstone  
       Sep 17, 2023
    非必要,不安装!
    非必要,不安装!
    IDAEngine
        19
    IDAEngine  
       Sep 17, 2023
    homebrew 安装的不是沙盒,肯定卸载不干净。可以提个 pr ,homebrew 以沙盒安装
    hefish
        20
    hefish  
       Sep 17, 2023
    不干净就不干净嘛。。又不是不能用。
    luckykong
        21
    luckykong  
       Sep 17, 2023 via iPhone
    习惯的方式 是什么方法?求告诉一下
    有几个其他软件,迫切需要删除本地信息
    lsry
        22
    lsry  
       Sep 17, 2023
    我倒是希望用信息和件安在同一文件,就可以一除,底消失
    MeMoDiv
        23
    MeMoDiv  
       Sep 17, 2023   1
    不要总是把 uninstall.exe 当作 timetravel.exe……
    mogita
        24
    mogita  
       Sep 17, 2023
    别浪费时间分析了,直达患处吧 https://freemacsoft.net/appcleaner/
    Leonard
        25
    Leonard  
       Sep 17, 2023 via iPhone
    在意这个的话建议只从 App Store 下载软件
    icyalala
        26
    icyalala  
       Sep 17, 2023
    "用习惯的方式直接删除" 是什么?
    我尝试了一下,直接删除 .app 然后重新复制,并不会清除登录信息,这显而易见。
    EVANGELIONAir
        27
    EVANGELIONAir  
       Sep 17, 2023
    包管理器不都是这样吗,他只负责程序文件而不负责配置文件
    你在 linux 下无论哪个发行版包管理器都只是卸载了程序文件,用户目录下的.config 是不会删除的,重装软件,还是已登录情况
    hellomynameis
        28
    hellomynameis  
       Sep 17, 2023
    @MeMoDiv 唉桌面系统,还是 iPhone 删 app 删的干净
    agagega
        29
    agagega  
       Sep 17, 2023 via iPhone   4
    @hellomynameis
    iPhone 也不一定能删干净,还有 keychain 这个玩意。百度系 app 删了重装还能提示你是不是要登录上一次的账号
    56rhcrivs55TVKdX
        30
    56rhcrivs55TVKdX  
       Sep 17, 2023
    @mokiki 赞同
    56rhcrivs55TVKdX
        31
    56rhcrivs55TVKdX  
       Sep 17, 2023
    举个例子, 你用 homebrew 安装了 chrome, 然后用 chrome 下载了一堆文件, 先不说卸载 chrome 的同时把下载的文件删除合不合理, homebrew 怎么知道 chrome 下载的文件扔哪呢?
    LK99
        32
    LK99  
       Sep 17, 2023
    @sanshao124 求详细说说,具体“自己再把系统文件夹查一遍”有没有详细步骤。
    darksword21
        34
    darksword21  
    PRO
       Sep 17, 2023
    用 nix
    eairjhioaegnh
        35
    eairjhioaegnh  
       Sep 17, 2023
    @sanshao124 电子洁癖晚期了
    Tink
        36
    Tink  
    PRO
      &nbp;Sep 17, 2023
    正常的
    ysc3839
        37
    ysc3839  
       Sep 17, 2023 via Android
    首先绝大多数 macOS app 并不是真正的“绿色软件”,仅仅是免安装软件。按照绿色软件的定义,应该是不会主动往程序目录外写文件的,但绝大多数 macOS app 仅仅是能解压即用,用户数据等还是会写到系统公共的应用数据目录。
    另外仅靠包管理也不能可靠实现卸载软件时把软件数据都删除,最多是提前写好软件可能会写数据的目录,卸载时顺便删除,没写的话就删不掉。
    要可靠实现软件卸载时删除数据,只能依赖沙盒,然而目前三大桌面操作系统:Windows 只有 UWP 应用支持沙盒,传统 Win32 应用还不支持。macOS 只对商店应用启用较严格的沙盒,非商店应用是可以免授权读写用户目录下许多地方的。Linux 下似乎只有 snap 支持沙盒?
    LitterGopher
        38
    LitterGopher  
       Sep 17, 2023
    得很,可是我安 brew 是了卸的候卸得比乾?
    studyrun
        39
    studyrun  
       Sep 17, 2023   2
    @lovestudykid #4 你既然这么说,那以后也别说 Windows 和安卓软件流氓,到处拉屎了
    starrycat
        40
    starrycat  
       Sep 17, 2023 via Android
    卸载软件一般我会先退出登录
    sanshao124
        41
    sanshao124  
       Sep 17, 2023
    @eairjhioaegnh 哈哈,是的,我家里地上有根头发都要捡起来
    sanshao124
        42
    sanshao124  
       Sep 17, 2023   2
    @LK99
    用 appcleaner 类软件卸载软件后
    删除系统残余
    ~/Library/Application Support
    ~/Library/Containers
    有时候这两个里面还是会有卸载软件的东西
    billgong
        43
    billgong  
       Sep 17, 2023
    主要还对 Homebrew 的定位不了解。这只是个包管理器罢了,就算换 apt yum 这些也卸载不干净啊。和 Windows 端的 scoop 不是一路人。况且这个包还是个 cask ,这下连包管理器都算不上了,只是个软件安装器了,如果 cask 的规则里不包含 zap ,那生成的配置、缓存之类的文件是不会被清理掉的。

    可以先用 AppCleaner 或 CleanMyMac 之类的软件清理干净,然后再在 hb 里卸载对应的 cask
    lovestudykid
        44
    lovestudykid  
       Sep 17, 2023
    @Leonard App Store 安装的也要写其他文件夹的
    IvanLi127
        45
    IvanLi127  
       Sep 17, 2023 via Android
    这明明你装的软件有问题。。。而且这个脚本大概率是第三方维护的。。。

    最后这说不定是那个软件的 feature 呢 \狗头
    ONEO666
        46
    ONEO666  
       Sep 17, 2023
    建议看看 ~/Library/Containers 这个目录,高血压起来了不要怪我 [手动狗头]
    zhouweiluan
        47
    zhouweiluan  
       Sep 18, 2023
    理解 OP 的意思。
    之前很多人吹用 homebrew 装就是为了能 100%把安装的东西的所有痕迹删除干净,只是对这些人的反驳而已
    mikewang
        48
    mikewang  
       Sep 18, 2023
    需要加上 --zap 选项。
    就如同 apt remove 和 apt purge ,如果你使用 apt remove 也会发现“卸载不干净”。
    shiltian
        49
    shiltian  
       Sep 18, 2023
    QQ 音乐竟然支持 HomeBrew 安装,高级…
    jqtmviyu
        50
    jqtmviyu  
       Sep 18, 2023   1
    那我再说个让你高血压的, 你装个类似 ffmpeg , 卸载后发现它装上的一堆依赖还在.

    brew deps --tree --installed

    我隔半年就会运行 brew autoremove
    p2007
        51
    p2007  
       Sep 18, 2023
    @jqtmviyu #50 学到了。
    maemolee
        52
    maemolee  
       Sep 18, 2023
    我用普通的安装方式,应用也会在~/Library/Containers 里面留下一堆垃圾,都得手动删。
    yexingshusheng
        53
    yexingshusheng  
       Sep 18, 2023
    Huelse
        54
    Huelse  
       Sep 18, 2023
    @jqtmviyu 我还会不定期跑一次 brew cleanup --prune=all
    8355
        55
    8355  
       Sep 18, 2023
    @Huelse This operation has freed approximately 1.5GB of disk space. tks
    bjfane
        56
    bjfane  
    PRO
       Sep 18, 2023
    @8355 装的挺多啊
    supersu
        57
    supersu  
       Sep 18, 2023 via Android
    用 mac clean pro 卸载,这玩意卸载的比 app cleanner 还要干净,不过可能有个副作用,就是卸载残留扫描把我的 vim 插件全给扬了
    Cruzz
        58
    Cruzz  
       Sep 18, 2023
    @supersu 昨天用 cleanmymac 一通扫,给我 fleet 里没有另存的文件扬了。
    supersu
        59
    supersu  
       Sep 18, 2023 via Android
    @Richared 节哀顺变~
    x250881478
        60
    x250881478  
       Sep 19, 2023
    作为上架过 homebrew cask 的人, 连带数据一起删除并不是个好主意, 比如我的软件, 是会创建数据库文件的, 如果和软件放到一起, 用户删除时候, 连个提示都没, 直接就没了, 肯定有问题吧
    About     Help     Advertise     Blog     API     FAQ     Solana     3409 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 139ms UTC 10:56 PVG 18:56 LAX 03:56 JFK 06:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86