bddxg
V2EX  ›  macOS

教程: 在 macOS 中移除 command line tools 并继续使用 git

  •  
  •   bddxg · Sep 24, 2023 · 5731 views
    This topic created in 969 days ago, the information mentioned may be changed or developed.

    command line tools 苦天下程序猿久已, 现在这破玩意越来越大,从原来的 700MB 已经成长到了3GB

    1695529671494.png

    我只是想用 git 而已, command line tools 居然为了不到 200M 的工具 捆绑 3GB 用不到的垃圾,

    申明一下: 我不写 C++ 不写 xcode 只是写个前端 用 git 管理仓库 对于我用不到的那些东西, command line tools 不应该浪费我的硬盘!

    下面介绍一下如何在移除 command line tools 的同时继续使用 git(目前不太完美)

    第一步: 安装 git

    这一步骤非常简单, 电脑上已经安装了 command line tools 和 git 的人可以省略此步骤,

    如果电脑上没有安装 git 和 command line tools, 请按照传统方法, 安装好 command line tools 和 git

    链接: https://git-scm.com/download/mac

    第二步: 安装 brew 并安装 git

    先不要奇怪第一步已经安装了 git 为什么又要安装一遍, 按照步骤走就行了,问就是为了避免 brew 安装的时候需要 git 而你又没有,陷入死循环

    安装 brew,根据脚本提示选择合适的源,一步步按照脚步提示操作就行

    /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
    

    安装 git

    brew install git
    

    第三步: 移除 command line tools

    核心步骤来了, 移除 command line tools 需要关闭 MacOS 的 SIP,

    以 mbp14 2021 为例关闭 sip: 关机后,长按开机键不放,出现选项,进去输入登录密码,左上角打开终端,输入 csrutil disable,输入γ,输入密码,等待一会,重启.

    非 apple 芯片请自行百度, 都是烂大街的教程了

    关闭 sip 后,重启进入系统,打开终端 执行命令

    sudo rm -rf /Library/Developer/CommandLineTools/
    

    还有一部分文件看自己想不想删除,我就不复制粘贴了,看这个Command Line Tools for Xcode 怎么彻底卸载? - richking 的回答 - 知乎

    好了, 一切操作完成后, 你会发现占据你 3GB 硬盘空间的 command line tools 已经不见了 ,而且 git 一如既往的好使

    (可选)开启 sip:关机后,长按开机键不放,出现选项,进去输入登录密码,左上角打开终端,输入 csrutil enable,输入γ,输入密码,等待一会,重启

    最后

    这并不是一个完美的脱离 command line tools 的方法, 就目前 2023 年 09 月 24 日 而言 打开 vscode 仍然会弹窗

    1695531777772.png

    选择取消就行, 不需要安装, 不完美的地方在于 每次打开 vscode 都会弹窗,这个小尾巴只能拜托万能的 V 友再研究研究 补充补充了

    Supplement 1  ·  Sep 25, 2023

    搞定了!

    vscode 弹窗下载 git 的解决方案:

    在设置中配置 git 的路径为: /opt/homebrew/bin/git 即可

    还有部分 V 友说 不如一开始买大硬盘, 我觉得买大硬盘和任由捆绑软件占用硬盘是两码事

    我的电脑硬盘是 521GB 的 目前占用不到 50GB

    我喜欢钱学森的那句话

    手中没剑, 和有剑不用, 不是一回事

    我喜欢我的硬盘我做主, 仅此而已

    44 replies    2023-09-26 15:44:44 +08:00
    flyqie
        1
    flyqie  
       Sep 24, 2023   ❤️ 2
    command line tools 里好像不只有 git 会用到吧。。
    shinsekai
        2
    shinsekai  
       Sep 24, 2023   ❤️ 2
    /usr/bin/python3 是不是也在 command line tools 里
    kawaiidora
        3
    kawaiidora  
       Sep 24, 2023 via Android
    问一下 macports 会需要 command line tools 吗?
    hefish
        4
    hefish  
       Sep 24, 2023
    买大点的硬盘嘛。。。或者拿去手机市场,焊两个 1T 的硬盘上去。
    nicaiwss
        5
    nicaiwss  
       Sep 24, 2023 via iPhone
    clt 没用,homebrew 安装也依赖,但其实不编译只装 bottle 用不到,我特意把 homebrew 的安装脚本改了把这个依赖检查去掉。其他没有任何影响,xcode 本身完全够用。安装好 xcode 后不安装 clt 在命令行里也能正常调用编译器连接器,完全不明白这个工具做什么用的。
    kawaiidora
        6
    kawaiidora  
       Sep 24, 2023 via Android
    @kawaiidora 看了下还是要的
    GeminiPro
        7
    GeminiPro  
       Sep 24, 2023
    这玩意体积真大。。。
    shimanooo
        8
    shimanooo  
       Sep 24, 2023   ❤️ 1
    正好有个黑果家庭服务器也不需要完整的 CLT.
    试了下安装 CLT, 然后手动删掉一些东西. (我用 brew install ncdu 看哪些大.)

    LLDB.framework
    MacOSX*.sdk // 这玩意有三个不同版本的, 全删掉的话 python3 会报错
    swift*
    clang/llvm*
    234ygg
        9
    234ygg  
       Sep 24, 2023
    3GB 而已,怎么就苦天下了。。😢
    yfwo
        10
    yfwo  
       Sep 24, 2023   ❤️ 5
    @234ygg 如果是某个国产电脑/系统,+256GB 需要 1500 元,安装 git 要 3GB 。在这个论坛估计能被喷好几页吧。

    实际上,低配版 256GB ,实际能用不影响系统速度的可用空间就 150 多 GB ,3GB 多就相当于 1/50 了。
    RexSkz
        11
    RexSkz  
       Sep 24, 2023
    按照 vscode 的逻辑,它会先获取 which git ,如果是 /usr/bin/git 说明是 clt 自带的,此时就会强制检查 xcode-select -p:

    https://github.com/microsoft/vscode/blob/main/extensions/git/src/git.ts#L80

    你可以看看 which git 的输出,应该就是 /usr/bin/git 了。
    Jirajine
        12
    Jirajine  
       Sep 24, 2023 via Android
    @yfwo #10 混淆概念,你在 Windows 装 vs 那一套开发环境 sdk 看看要多少空间,3gb 和 Linux 下装个 base-devel 也差不多少,就是标准的开发工具链的占用。
    工具链里自带 git 和 git 依赖工具链是两回事。
    just1
        13
    just1  
       Sep 24, 2023
    @Jirajine #12 为什么要装 vs 开发环境?大部分语言应该用不到
    aerAzLNE
        14
    aerAzLNE  
       Sep 24, 2023   ❤️ 1
    @Jirajine 谁家 win 有果子的存储金贵……
    wonderfulcxm
        15
    wonderfulcxm  
       Sep 24, 2023 via iPhone
    感觉分享,这个 command line tools 确实离谱
    bddxg
        16
    bddxg  
    OP
       Sep 24, 2023
    更新一下修复弹窗小尾巴

    使用软链接将/opt/homebrew/bin/git 链接到/usr/bin/git

    命令: ln -s /opt/homebrew/bin/git /usr/bin/git

    现在打开 vscode 已经不弹窗了, git 各个功能都正常使用(未全面测试)

    现在,我的 MacOS 终于脱离了 command line tools 的束缚了 拯救了 3GB 硬盘空间!!!

    感谢 @RexSkz 感谢自己!
    bddxg
        17
    bddxg  
    OP
       Sep 24, 2023
    好像还是不行[笑哭] ..............ε=(´ο`*)))唉
    dxk611
        18
    dxk611  
       Sep 24, 2023
    有点折腾自己,找罪受。很多软件都需要 Command Line Tool 支持,避不开。何况只是 3GB ,没必要这样省空间
    bddxg
        19
    bddxg  
    OP
       Sep 24, 2023
    搞定了!
    vscode 弹窗下载 git 的解决方案:
    在设置中配置 git 的路径为: /opt/homebrew/bin/git 即可

    https://img1.imgtp.com/2023/09/24/Dm9DcUkS.png
    easyEz
        20
    easyEz  
       Sep 24, 2023   ❤️ 1
    苹果爹是这样的,3GB 不算大, 就算大也可以加硬盘。
    👴🏻😁
    chendy
        21
    chendy  
       Sep 24, 2023
    @234ygg 只能说丐版受害者还是不少
    xtinput
        22
    xtinput  
       Sep 24, 2023   ❤️ 1
    然而 brew 并不小,如果只是为了装 git 还是别装 brew 了,而且各种破解版软件可能用到签名,签名就得 command line tools
    xtinput
        23
    xtinput  
       Sep 24, 2023
    一个微信就能干掉几十上百 G ,何必为了这 3G 折腾
    xtinput
        24
    xtinput  
       Sep 24, 2023
    都做程序员了,还买 256G ?
    dingwen07
        25
    dingwen07  
       Sep 24, 2023 via iPhone
    @nicaiwss #5 brew 的 software 。repository 不是基于 git 的吗,不装 clt 没有 git 吧
    weeei
        26
    weeei  
       Sep 24, 2023
    @kawaiidora command line tools 里面包含的是 MacOS SDK 和工具链,如果你要的工具需要从源码编译,就是必须的。比如 MacOS 14 才出来,预编译好的 ports 还没有,就需要源码编译。
    dingwen07
        27
    dingwen07  
       Sep 24, 2023 via iPhone
    顺便提一下,苹果为了兼容性,M1 上所有系统软件都是通用二进制,也就是同时有 x86 和 Arm ,浪费了不少空间
    第三方软件如果用通用二进制也是差不多的情况

    Mac 空间不够用的可以把一些软件的 x86 版本给去掉
    nicaiwss
        28
    nicaiwss  
       Sep 24, 2023 via iPhone
    @dingwen07 有的,安装和每次更新 xcode 后打开 xcode 会跳出来一个对话框安装组件,基本上就是把 xcode 里的很深目录映射到/usr/bin ,这个就包括 git 。然后再安装 homebrew 会提示没有 clt ,这时候把安装脚本下载到本地然后把里面检查 clt 的逻辑去掉就可以正常装了。
    nicaiwss
        29
    nicaiwss  
       Sep 24, 2023 via iPhone
    @weeei 这些 xcode 里面有,clt 是不安装 xcode 的情况下才有必要装的,和 xcode 功能重复,应该是因为脚本不能直接安装 xcode
    bao3
        30
    bao3  
       Sep 24, 2023
    你可以把 command line 当成是 linux 的 build-essential 。如果不 build 任何软件(包括 homebrew/macports ) 那你可以不要,否则还是要留着,要不然 make 时提示找不到就很受伤
    shimanooo
        31
    shimanooo  
       Sep 24, 2023
    @xtinput
    brew Formula 已经从 git repo 改成 json API 了. 再把 brew 本体 git repo 改成 shallow clone. 几十 MB 就够了.
    NormanGhost
        32
    NormanGhost  
       Sep 25, 2023 via Android
    前端应该会用到 node-gyp ,我没记错的话它依赖于 command line tools
    momocraft
        33
    momocraft  
       Sep 25, 2023
    brew 还要用 ruby 吧
    20015jjw
        34
    20015jjw  
       Sep 25, 2023 via iPhone
    …吃饭还纠结这 3G…
    uCVqn130hR86WDU8
        35
    uCVqn130hR86WDU8  
       Sep 25, 2023
    我之前连 git 都没用到,全在远程😂,但是 warp 一直跳这玩意儿,想了想装上得了,省得操心
    elementp
        36
    elementp  
       Sep 25, 2023
    只是删/Library/Developer/CommandLineTools/里的东西的话不需要关闭 SIP ,深度强迫症要删 Receipts 才需要关掉 SIP 。
    LudwigWS
        37
    LudwigWS  
       Sep 25, 2023 via iPhone
    @RexSkz 专业
    shigeyxs
        38
    shigeyxs  
       Sep 25, 2023
    @hefish 请教一下大佬。是个方法,目前 m 芯片的笔记本硬盘可以去找人扩大了不
    hefish
        39
    hefish  
       Sep 25, 2023
    @shigeyxs 应该早就可以了。 抖音里有很多。
    kawaiidora
        40
    kawaiidora  
       Sep 25, 2023
    @just1 需要 msvc abi 的语言需要,例如 rust ( doge )

    同样价格 mac 上占用 3gb ,到 pc 上装个 vs ,换成 10gb 存储还有找零(虽然能装 vs build tools ,但还是直接装 vs 然后选 c++组件简单方便,也不用担心下到 32 位版本)
    supersu
        41
    supersu  
       Sep 25, 2023 via Android
    sip 关完操作完之后最好再开一下,不然 mac 上的 kaspersky 和 avast 杀毒软件会在扫描的时候卡住~
    jakes
        42
    jakes  
       Sep 25, 2023
    不苦啊,就 3GB 的东西,吃饭的家伙还抠抠搜搜。你卸载了以后迟早也要装回去。
    sinotw
        43
    sinotw  
       Sep 25, 2023
    @dingwen07 #27 请问如何去掉 x86 呢
    swordcoming9527
        44
    swordcoming9527  
       Sep 26, 2023
    开个玩笑:为了省空间已经不用 vscode 了,内存和存储空间都金贵,我使用 neovim 。
    我的是 512g 空间,macos 没什么游戏可玩,也没有下载什么大的东西,空间富足的很,不安装 clt ,安装大的多的 xcode 。
    不过主力编辑器的确是 neovim ,debug 不方便,下载了一个免费但也占不少空间的 android studio ,里面安装 rust 插件,就可以白嫖 jetbrains 商业版 ide 才支持的 rust debug 功能,不过 rust 插件废弃了,jetbrains 新出了专门的 rust IDE ,处于免费的预览阶段,预览版到明年 9 月,继续白嫖。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3107 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 190ms · UTC 11:31 · PVG 19:31 · LAX 04:31 · JFK 07:31
    ♥ Do have faith in what you're doing.