pnpm
link
- 将当前目录下的依赖链接到 当前目录下
node_modules - --global 将依赖链接到全局
node_modules
bash
# <dir> 默认值为当前目录,可不填
# 同一个 workspace
# 将当前目录下的依赖链接到当前目录下的 node_modules 目录
pnpm link <dir>
# 不同 workspace
pnpm link --global <dir>
pnpm link --global <pkg># <dir> 默认值为当前目录,可不填
# 同一个 workspace
# 将当前目录下的依赖链接到当前目录下的 node_modules 目录
pnpm link <dir>
# 不同 workspace
pnpm link --global <dir>
pnpm link --global <pkg>demo
本地项目 project,使用本地 unocss
/unocss 是 unocss 源码文件夹,因为 unocss 是 monorepo,需要进入 /unocss/packages/unocss,找到真正的 unocss
TIP
/unocss/package.json中 "name": "@unocss/monorepo"/unocss/packages/unocss/package.json"name": "unocss"- 链接当前依赖时 pnpm link 读取当前目录下的 package.json name
- 进入
/unocss/packages/unocss,将依赖链接到全局node_modules
bash
pnpm link --global
# output /home/ziggy/.local/share/pnpm/global/5:
# + unocss 0.53.1 <- ../../../../../project/unocss/packages/unocsspnpm link --global
# output /home/ziggy/.local/share/pnpm/global/5:
# + unocss 0.53.1 <- ../../../../../project/unocss/packages/unocss- 进入本地项目
/project,将全局node_modules下的 unocss,链接到当前目录下的node_modules
bash
pnpm link --global unocsspnpm link --global unocssunlink
断开依赖链接
bash
# 所有已经链接的依赖项都将被切断链接
pnpm unlink
# 断开依赖名为 package_selector 的链接
pnpm unlink --filter <package_selector># 所有已经链接的依赖项都将被切断链接
pnpm unlink
# 断开依赖名为 package_selector 的链接
pnpm unlink --filter <package_selector>ls
bash
# 查看当前目录 `node_modules` 依赖列表
pnpm ls
# 查看全局 `node_modules` 依赖列表
pnpm ls --global# 查看当前目录 `node_modules` 依赖列表
pnpm ls
# 查看全局 `node_modules` 依赖列表
pnpm ls --globalwhy
查看指定依赖包的依赖关系
bash
pnpm why <pkg>
# -r 嵌套查询
pnpm why -r <pkg>pnpm why <pkg>
# -r 嵌套查询
pnpm why -r <pkg>info
查看单个依赖最新信息
bash
pnpm info vitestpnpm info vitest
list
查看依赖的本地信息
bash
pnpm list vitestpnpm list vitest
-r --filter
bash
pnpm -r --filter='./packages/*' run buildpnpm -r --filter='./packages/*' run build-r 递归调用 --filter 过滤条件,指定哪些包执行后续命令 run build 命令