Pnpm 介绍
快速、节省磁盘空间的包管理工具,与 npm 和 Yarn 类似
Pnpm 优点
- 速度快 :
• 通过将所有包的文件存储在全局的内容地址存储库中并使用硬链接进行安装,从而加快了安装速度
- 节省磁盘空间 :
• 使用硬链接,每个包只在磁盘上存储一次,无论它被多少个项目使用。可以显著减少磁盘空间的使用
- 严格的依赖管理 :
• 使用独特的 node_modules 布局,确保每个项目都有独立的依赖关系,减少版本冲突的可能性
- 重复使用缓存 :
• 在第一次安装包后,会缓存这些包,后续安装相同包时直接从缓存中获取,进一步提高了速度
Pnpm 安装 (更新pnpm也是这个命令)
npm i -g pnpm
Pnpm 常用命令
查看版本
pnpm -v
初始化新项目,项目命为helloWord,可以自己定义项目名
pnpm init helloWord
添加依赖包,会自动安装最新版本,会覆盖指定版本号
[package]为包的名字,例如安装yarn ,就是 pnpm add yarn
pnpm add [package]
一次性添加多个包
pnpm add [package] [package] [package]
添加指定版本的包
[version]为版本号,例如安装vue的3.0.0版本 pnpm add vue@3.0.0
pnpm add [package]@[version]
安装某个tag(比如beta,next或者latest)
pnpm add [package]@[tag]
将依赖项添加到不同依赖项类别
不指定依赖类型默认安装到dependencies里,你也可以指定依赖类型分别添加到 devDependencies、peerDependencies 和 optionalDependencies
pnpm add [package] --dev 或 yarn add [package] -D // 加到 devDependencies
pnpm add [package] --peer 或 yarn add [package] -P // 加到 peerDependencies
pnpm add [package] --optional 或 yarn add [package] -O // 加到 optionalDependencies
升级依赖包
pnpm up //更新所有依赖项
pnpm up --latest //更新所有依赖项
pnpm upgrade [package] // 升级到最新版本
pnpm upgrade [package]@[version] // 升级到指定版本
pnpm upgrade [package]@[tag] // 升级到指定tag
移除依赖包
pnpm remove [package] // 移除包
pnpm remove 包 --global //移除全局包
安装所有依赖
pnpm 或 pnpm i
安装一个包的单一版本
pnpm i --flat
强制重新下载所有包
pnpm i --force
只安装生产环境依赖
pnpm i --production
发布包
pnpm publish
运行脚本
用来执行在 package.json 中 scripts 属性下定义的脚本
pnpm run
显示某个包的信息
可以用来查看某个模块的最新版本信息
pnpm info [package]
查看源
pnpm config get registry
切换淘宝源
pnpm config set registry https://registry.npmmirror.com
临时修改
pnpm --registry https://registry.npmmirror.com install any-touch
还原
pnpm config set registry https://registry.npmjs.org