V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
m9rco
V2EX  ›  问与答

Mac 上有没有什么工具可以统一管理本地所有的 node_module

  •  
  •   m9rco · 2019-02-11 10:56:25 +08:00 · 2323 次点击
    这是一个创建于 1872 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我发现好几个前端工程node_module好大啊要是有什么可以把他们全放在某一个地方就不用每次都下载这么多包了

    11 条回复    2019-02-11 15:00:59 +08:00
    Vegetable
        1
    Vegetable  
       2019-02-11 11:00:55 +08:00 via Android
    yarn 自带缓存功能吧,相同版本的包就下载一次。
    m9rco
        2
    m9rco  
    OP
       2019-02-11 11:06:22 +08:00
    @Vegetable 不是说 npm5.0 后 yarn 跟 npm 差不多嘛
    m9rco
        3
    m9rco  
    OP
       2019-02-11 11:15:56 +08:00
    我指的说每个工程都有 1 个 G 的 node_modules 诶
    mscststs
        4
    mscststs  
       2019-02-11 11:30:16 +08:00 via Android
    可以试试版本相同的依赖全局安装,我觉得 node_modules 的意义就是为了保证依赖的版本在协同工作的时候能够确定不变,所以每个项目都维护一个.lock 和 node_modules 是有意义的。

    实际上我记得 cnpm 是使用链接的方式来节约空间。但是据说这依然会导致一些其他问题。
    justin2018
        5
    justin2018  
       2019-02-11 12:35:36 +08:00
    @m9rco 老铁 我也是 每个工程都很大~~ 又不想删除~~ 免得删除了又要下载一次~ 我基本上 1 年清理一次~~~
    bestie
        6
    bestie  
       2019-02-11 12:42:16 +08:00
    pnpm 应该是你想要的
    tonyaiken
        7
    tonyaiken  
       2019-02-11 13:44:32 +08:00
    yarn
    m9rco
        8
    m9rco  
    OP
       2019-02-11 13:49:35 +08:00
    @justin2018 该 link 的时候应该甩 link 我 50G 的小磁盘 几个项目的 node_module 就给我占了 10G
    azh7138m
        9
    azh7138m  
       2019-02-11 13:59:38 +08:00 via Android
    新时代的全家桶(
    目前来看,很难公用。
    node 的包管理的一个特点是允许依赖一个包的不同版本,这就让复用变得很困难,yarn 一开始设计的时候会让一个项目的相同依赖尽可能 解析(? resolve )到同一个版本,已经做的很不错了。
    你把她们放到一个公共目录,也还是会那么大的,不会变小很多。
    m9rco
        10
    m9rco  
    OP
       2019-02-11 14:55:22 +08:00
    @azh7138m 公用的地方打 link 就可以了
    azh7138m
        11
    azh7138m  
       2019-02-11 15:00:59 +08:00 via Android
    @m9rco 是版本不同。
    我的项目依赖 A 依赖 B 依赖 C 依赖 D,
    A 依赖 D
    B 依赖 D
    C 依赖 D
    假设是 4 个不同的版本,用了 link,也是要保存 4 个版本,体积不会变小。
    我想表达这个意思。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3924 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 10:26 · PVG 18:26 · LAX 03:26 · JFK 06:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.