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/unocss
pnpm 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 unocss
pnpm link --global unocss
unlink
断开依赖链接
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 --global
why
查看指定依赖包的依赖关系
bash
pnpm why <pkg>
# -r 嵌套查询
pnpm why -r <pkg>
pnpm why <pkg>
# -r 嵌套查询
pnpm why -r <pkg>
info
查看单个依赖最新信息
bash
pnpm info vitest
pnpm info vitest
list
查看依赖的本地信息
bash
pnpm list vitest
pnpm list vitest
-r --filter
bash
pnpm -r --filter='./packages/*' run build
pnpm -r --filter='./packages/*' run build
-r
递归调用 --filter
过滤条件,指定哪些包执行后续命令 run build
命令