随着项目的增加,磁盘的空间也跟着吃紧,最吃紧的是依赖所占用的空间,最近发现了一款新包管理工具pnpm
pnpm的特点
1、快速
pnpm比其他包管理器快2倍。
2、高效
node_modules 中的文件为复制或链接自特定的内容寻址存储库。
3、支持monorepos
pnpm内置支持单仓多包。
4、严格
pnpm 默认创建了一个非平铺的 node_modules,因此代码无法访问任意包。
如果你对同一依赖包使用相同的版本,那么磁盘上只有这个依赖包的一份文件;
如果你对同一依赖包需要使用不同的版本,则仅有版本之间不同的文件会被存储起来;
所有文件都保存在硬盘的统一的位置:
当安装软件包时,其包含的所有文件都会硬链接到此位置,而不会占用而外的硬盘空间;
这让你可以在项目之间方便地共享相同版本的依赖包。
全局安装
npm install pnpm -g
设置源
//查看源
pnpm config get registry
//切换淘宝源
pnpm config set registry https://registry.npmmirror.com/
使用
pnpm install 包 //
pnpm i 包
pnpm add 包 // -S 默认写入dependencies
pnpm add -D // -D devDependencies
pnpm add -g // 全局安装
移除
pnpm remove 包 //移除包
pnpm remove 包 --global //移除全局包
更新
pnpm up //更新所有依赖项
pnpm upgrade 包 //更新包
pnpm upgrade 包 --global //更新全局包
设置存储路径
# 安装完记得重启下环境使其生效
# windows环境不好整就直接重启,重启后指定目录会生效
pnpm config set store-dir /path/to/.pnpm-store