拯救硬盘空间

26 阅读2分钟

背景

工程化体系开发过程中给我们带来便利性的同时,npm模块化也给我们带来了一个磁盘杀手——node_modules,

那么如何清理陈旧的依赖包或如何节约硬盘空间呢?

方案一 npkill

快速搜索硬盘上的node_modules目录,并能列出最近修改时间,和占用空间大小,让用户选择性删除。

用法

npm i -g npkill   //安装npkill

进入对应盘符或目录 执行 npmkill 命令

使用光标箭头移动 上或下 。

按下该Space键将删除光标所在的目录,从而释放宝贵的空间。

要退出,q请按 或Ctrl+c.。

更多用法,可查看官网

方案二 pnpm

当使用 npm 时,如果你有 100 个项目,并且所有项目都有一个相同的依赖包,那么, 你在硬盘上就需要保存 100 份该相同依赖包的副本。然而,如果是使用 pnpm,依赖包将被 存放在一个统一的位置。

原理

pnpm 通过链接( links)与全局存储空间(store)管理的不同项目的 node_modules 依赖。硬链接(hard links)能指向磁盘上原始文件所在的同一位置(store),但是因为 pnpm 的 node_modules 是树形目录结构,且硬链接只能用于文件不能用于目录,因此需要通过软链接(symbolic link)来实现目录寻址。

简单的说:pnpm 通过硬链接指向全局唯一的依赖包,从而节省了硬盘空间,

通过软连接来表述依赖之间的嵌套关系,因此不需要把依赖平铺至node_modules目录,很好的解决了 幽灵依赖 的问题,对项目更加规范与安全。

另外由于全局只需要下载一份依赖,对依赖的安装速度也是一种提升。

官网链接

结语

节约了电脑磁盘空间,C盘剩余容量不再标红,研发人员又可以更加畅快的加班了。