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

有没有好办法管理 Mac 上各种开源包? py/npm/mvn

  •  
  •   acorngyl · 16 小时 17 分钟前 · 1618 次点击

    感觉我的电脑现在非常乱,有 maven 的包,有 node 的包,有 python 的包。还有通过 python 还安装了各种开源社区的包,比如 Hagen face 、llama 等等。 我根本就不知道这些包装哪了,甚至,时间长了,我都不知道自己装过什么。

    还有 idea 和 vscode 的索引,这些“幽灵”文件,吃了我电脑大几十 G 了。索引还好说,定期删删,位置也固定。

    数据库、nacos 什么现在可以用 docker 统一了。

    但是这些依赖,没找到什么好办法。 大家有什么好办法管理这些不同开源社区的资源呢?

    第 1 条附言  ·  7 小时 54 分钟前
    总结下大家的建议,
    mise / asdf ,貌似常见的 node 、py 、mvn 都支持了。
    conda ,据介绍现在也支持多语言,但是只找到了 node 的例子,加上自家的 py 。
    devcontainer ,vs code 虚拟环境插件,还没有试,不知道效果怎么样。

    我自己也脑洞了两个方式,
    1 、parallel Mac 系统,资源都给虚拟机,上班时间反正也不会干别的。加上公司要零信任锁,索性直接进去养蛊。
    2 、正好有炼丹需求,办公室仍个 pc ,办公网线接 wifi ,mac 用 Remote Desktop 接 pc ,同 wifi ,打字延迟完全可以接受,开发也不用“高刷”,哈哈哈。这样本子的续航和性能全有了。
    30 条回复    2024-11-27 23:50:49 +08:00
    mMartin
        1
    mMartin  
       16 小时 14 分钟前
    用 conda
    northernsongy2
        2
    northernsongy2  
       16 小时 13 分钟前
    用虚拟机开发....
    lisxour
        3
    lisxour  
       15 小时 46 分钟前   ❤️ 1
    这完全是不同生态的东西,就算有一个工具能全部管理,你也不敢用啊,分分钟一行命令,全都 boom 了
    lisxour
        4
    lisxour  
       15 小时 45 分钟前
    还不如自己写个 shell 脚本,所有结果至少自己知道可控

    xxx clean
    yyy remove --cache
    ......
    crysislinux
        5
    crysislinux  
       15 小时 43 分钟前   ❤️ 1
    几十 G 无所谓的。这就是 npm 只在自己目录安装的好处的,项目不做了删自己的目录就是。
    fingerxie
        6
    fingerxie  
       15 小时 32 分钟前
    devcontainers?容器内开发
    zjiajun
        7
    zjiajun  
       15 小时 15 分钟前
    我也有这个疑问,mac 上各种仓库,mvn 、gradle 不罗列了
    如果有个工具可以扫描各技术栈的包依赖,提供美观的列表查看,但不一定是要清理的,仓库多数使用场景不太会去清理
    Jakarta
        8
    Jakarta  
       14 小时 42 分钟前 via Android
    @mMartin #1 conda 的免费是有条件的。不严谨地说,200 人以上的公司就需要花钱了。
    lululau
        9
    lululau  
       14 小时 28 分钟前
    asdf
    tars16
        10
    tars16  
       14 小时 16 分钟前
    用 brew 管理软件。
    用 pipx 管理 Python 程序
    用 pdm 管理 Python 包和环境
    node 的包我听别人用 pnpm 。我不太懂。
    xcode 的清理:XcodeCleaner-SwiftUI
    auhah
        11
    auhah  
       14 小时 11 分钟前
    同感,感觉需要一个扫描常见包管理器安装目录的 app 。。
    superchijinpeng
        12
    superchijinpeng  
       14 小时 7 分钟前   ❤️ 1
    devcontainer
    LetsGiao
        13
    LetsGiao  
       14 小时 2 分钟前
    sdkman 可以用来安装很多 SDK ,可以知道安装了那些 SDK ;然后每个 SDK 用自己的包管理器。
    ixcode
        14
    ixcode  
       13 小时 12 分钟前   ❤️ 1
    想开了就没事了,不要有洁癖
    jark006
        15
    jark006  
       13 小时 9 分钟前
    win 平台有 uniget ,可以管理很多环境的包,mac 好像没有
    conn457567
        16
    conn457567  
       13 小时 8 分钟前 via Android   ❤️ 1
    asdf
    liununu
        17
    liununu  
       12 小时 26 分钟前 via iPhone   ❤️ 1
    mise / asdf
    ericshen
        18
    ericshen  
       11 小时 45 分钟前
    @Jakarta #8 conda-forge/miniforge 了解一下
    zieglar
        19
    zieglar  
       11 小时 2 分钟前   ❤️ 1
    mise 是 asdf 的扩展版,比 asdf 好用一点
    woodykang
        20
    woodykang  
       10 小时 5 分钟前
    @LetsGiao 李家的?我孙家的。A
    acorngyl
        21
    acorngyl  
    OP
       9 小时 54 分钟前
    @mMartin #1 @ericshen #18 只知道 conda 可以管理 py ,maven 和 node 也行吗?


    @conn457567 #16
    @liununu #17
    @zieglar #19 貌似 mise 是我说的意思。

    我就希望所有包或者依赖都在一个目录里,比如~/mise/install/ 下边它们想几个文件夹都无所谓。我~/ 下,现在光 带 “ . ” 的文件夹都一屏了,看着都头大。新电脑应该就有 sh 、Downloads 、Documents 等十几个的。等换电脑的时候试试 mise ,然后给老电脑彻底格了。
    mMartin
        22
    mMartin  
       9 小时 44 分钟前
    @acorngyl #21 maven 没用过 node 可以 conda 管理 node 版本很好用
    zjiajun
        23
    zjiajun  
       9 小时 43 分钟前
    @acorngyl 这个要求其实挺高的,所有依赖都在一个文件夹里,自动化修改每个包管理配置文件,这个修改有可能会影响到 IDE 开发工具或者其他未知因素。因为之前我用 mac 也试过这样搞,但是碰到了问题,已经想不起来了。后面就各种默认了,~文件夹下也是各种“. ”,这里的“."文件夹其实包管理器占的还是比较少的。
    我想想,是不是可以搞一搞工具
    zjiajun
        24
    zjiajun  
       9 小时 28 分钟前
    用户目录下常用的包管理器目录,就我知道罗列下
    .m2 => maven
    .gradle => gradle
    .sbt => scala sbt
    .ivy2 => scala sbt
    .gem => ruby gem
    .npm => npm
    .nvm => nvm
    .pnpm => pnpm
    gopath/pkg => golang env

    还有的各位开发大佬补充下
    HangoX
        25
    HangoX  
       9 小时 14 分钟前
    用 DaisyDisk 扫描一下就都知道了
    ericshen
        26
    ericshen  
       9 小时 11 分钟前
    @acorngyl #21 额,我只是在回复 @Jakarta 关于 conda 商业收费的问题
    acorngyl
        27
    acorngyl  
    OP
       8 小时 5 分钟前
    @zjiajun #24
    我把我这的整理了一下。有启发的话,就用吧,如果感觉太乱了,就打搅。
    本来还想分下类的,结果看见 30+的隐藏目录,我已经无力吐槽了。

    1. .AzureToolsForIntelliJ:Azure 插件为 IntelliJ IDEA 生成的配置目录,用于存储连接 Azure 的配置信息。
    2. .android Android 开发工具的配置目录(如 Android Studio ),存储模拟器和 SDK 配置信息。
    3. .cargo Rust 编程语言的包管理器 cargo 的配置和缓存目录。
    4. .conda:Conda 虚拟环境管理工具的配置目录,存储环境和包管理信息。
    5. .docker:Docker 的配置目录,存储 Docker CLI 的设置和缓存。
    6. .gitconfig:Git 的全局配置文件,包含用户的 Git 设置(如用户名、邮箱等)。
    7. .ipython:IPython 的配置目录,用于存储交互式 Python 的历史记录和配置。
    8. .keras:深度学习框架 Keras 的配置目录,存储模型和预训练权重缓存。
    9. .m2:Maven ( Java 构建工具)的配置和本地仓库目录。
    10. .matplotlib:Python 数据可视化库 Matplotlib 的配置目录,存储字体缓存和样式。
    11. .mysql_history:MySQL 客户端的命令历史记录文件。
    12. .node_repl_history:Node.js REPL (交互式命令行环境)的历史记录。
    13. .npm:Node.js 包管理器 npm 的全局缓存目录。
    14. .pgadmin:数据库管理工具 PgAdmin 的配置目录。
    15. .python_history:Python 交互式命令行的历史记录。
    16. .rustup:Rust 编程语言的版本管理工具 Rustup 的配置目录。
    17. .swiftpm:Swift Package Manager 的配置目录。
    18. .yarnrc:Yarn ( JavaScript 包管理工具)的配置文件。
    19. .vscode:Visual Studio Code 的用户配置和扩展缓存目录。
    20. .lemminx:XML 语言服务器的配置目录。
    21. .redhat:Red Hat 工具(如 Red Hat Language Server )的配置目录。
    22. .visualdl:VisualDL 的配置文件,用于深度学习可视化。
    23. .equo:一些 Equo 相关工具的配置目录。
    24. .labelImgSettings.pkl:LabelImg 图像标注工具的设置文件。
    25. .labelmerc:LabelMe 图像标注工具的配置目录。
    26. .ollama:Ollama 相关工具的配置文件。
    27. .modelscope:ModelScope 模型管理工具的配置目录。
    28. .hawtjni:HawtJNI 是 Java Native Interface 的工具库,其配置目录。
    zjiajun
        28
    zjiajun  
       5 小时 45 分钟前
    @acorngyl 这里面真正的包管理工具的"." 文件夹其实不多,cargo 、m2 、npm 。更多的事应用或者命令的配置文件夹,dot file 似乎有一些管理工具,我没用过不知道效果如何,比如 https://yadm.io/ (Yet Another Dotfiles Manager)、dotfiles ( https://github.com/rkalis/dotfiles )。
    z0ffy
        29
    z0ffy  
       4 小时 49 分钟前
    https://github.com/alienator88/Pearcleaner/releases 我用这个,4.0 刚更新了一个功能 Development environment cleaning
    zeromake
        30
    zeromake  
       1 小时 48 分钟前 via Android
    vfox
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1365 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:39 · PVG 01:39 · LAX 09:39 · JFK 12:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.