bddxg
V2EX  ›  macOS

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

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

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

    实际上,低配版 256GB ,实际能用不影响系统速度的可用空间就 150 多 GB ,3GB 多就相当于 1/50 了。
    RexSkz
    RexSkz
    Sep 24, 2023
    11
    按照 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
    Jirajine
    Sep 24, 2023 via Android
    12
    @yfwo #10 混淆概念,你在 Windows 装 vs 那一套开发环境 sdk 看看要多少空间,3gb 和 Linux 下装个 base-devel 也差不多少,就是标准的开发工具链的占用。
    工具链里自带 git 和 git 依赖工具链是两回事。
    just1
    just1
    Sep 24, 2023
    13
    @Jirajine #12 为什么要装 vs 开发环境?大部分语言应该用不到
    aerAzLNE
    aerAzLNE
    Sep 24, 2023❤️1
    14
    @Jirajine 谁家 win 有果子的存储金贵……
    wonderfulcxm
    wonderfulcxm
    Sep 24, 2023 via iPhone
    15
    感觉分享,这个 command line tools 确实离谱
    bddxg
    bddxg
    OP
    Sep 24, 2023
    16
    更新一下修复弹窗小尾巴

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

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

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

    同样价格 mac 上占用 3gb ,到 pc 上装个 vs ,换成 10gb 存储还有找零(虽然能装 vs build tools ,但还是直接装 vs 然后选 c++组件简单方便,也不用担心下到 32 位版本)
    supersu
    supersu
    Sep 25, 2023 via Android
    41
    sip 关完操作完之后最好再开一下,不然 mac 上的 kaspersky 和 avast 杀毒软件会在扫描的时候卡住~
    jakes
    jakes
    Sep 25, 2023
    42
    不苦啊,就 3GB 的东西,吃饭的家伙还抠抠搜搜。你卸载了以后迟早也要装回去。
    sinotw
    sinotw
    Sep 25, 2023
    43
    @dingwen07 #27 请问如何去掉 x86 呢
    swordcoming9527
    swordcoming9527
    Sep 26, 2023
    44
    开个玩笑:为了省空间已经不用 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   ·   Privacy   ·   Solana   ·   1516 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 90ms · UTC 23:31 · PVG 07:31 · LAX 15:31 · JFK 18:31
    ♥ Do have faith in what you're doing.