你好同学,我是沐爸,欢迎点赞、收藏和关注!个人知乎、公众号"沐爸空间"
介绍
pnpm - 速度快、节省磁盘空间的软件包管理器。官网、中文网。
特点:
- 快速:pnpm 比 npm 快了近 2 倍
- 高效:node_modules 中的所有文件均克隆或硬链接自单一存储位置
- 支持单体仓库:pnpm 内置了对单个源码仓库中包含多个软件包的支持
- 权限严格:pnpm 创建的 node_modules 默认并非扁平结构,因此代码无法对任意软件包进行访问
安装
npm install -g pnpm
兼容性
Node.js | pnpm 7 | pnpm 8 | pnpm 9 |
---|---|---|---|
Node.js 12 | ❌ | ❌ | ❌ |
Node.js 14 | ✔️ | ❌ | ❌ |
Node.js 16 | ✔️ | ✔️ | ❌ |
Node.js 18 | ✔️ | ✔️ | ✔️ |
Node.js 20 | ✔️ | ✔️ | ✔️ |
常用命令
npm 命令 | pnpm 等价命令 |
---|---|
npm init | pnpn init // 没有-y参数 |
npm install | pnpm install |
npm i | pnpm add |
npm run | pnpm |
pnpm add
pnpm add [packageName] // 默认安装【生产依赖】
pnpm add [packageName] -D // 安装开发依赖
pnpm add [packageName] -g // 全局安装
pnpm add [packageName]@version // 安装指定版本
pnpm add [packageName]@latest // 更新依赖包到最新稳定版本
pnpm update
别名up、upgrade。
pnpm up // 更新所有依赖项到最新版本。【可能不起作用,不推荐使用】
pnpm up --latest // 更新所有依赖项并更改 package.json 中的版本号。
pnpm up [packageName]@version // 更新依赖包到指定版本
pnpm up [packageName]@latest // 更新依赖包到最新稳定版本
pnpm up [packageName]@latest -g // 更新全局依赖包到最新稳定版本
pnpm remove
pnpm remove [packageName] [-g]
从 node_modules 目录下和 package.json 文件中删除软件包。别名 rm、uninstall、un。-g 参数表示全局卸载。
pnpm config
查看 pnpm 配置项
pnpm config list
=>
//registry.npmjs.org/:_authToken=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
home=https://www.npmjs.org
init-author-name=muba
registry=https://registry.npmjs.org/
user-agent=pnpm/9.1.4 npm/? node/v20.13.1 win32 x64
设置淘宝源
pnpm config set registry http://registry.npmmirror.com
pnpm publish
注意,使用 pnpm publish 发布包之前,需要使用 npm login --auth-type=legacy
命令登录 npm。
关联文章: