V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bddxg
V2EX  ›  macOS

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

  •  
  •   bddxg · 216 天前 · 3367 次点击
    这是一个创建于 216 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 友再研究研究 补充补充了

    第 1 条附言  ·  215 天前

    搞定了!

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

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

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

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

    我喜欢钱学森的那句话

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

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

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

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

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

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

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

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

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