乐闻世界logo
搜索文章和话题

How to add dependency to PNPM workspace?

5 个月前提问
3 个月前修改
浏览次数93

2个答案

1
2

要将某个依赖项添加到pnpm工作区,你需要遵循以下步骤:

  1. 定位工作区的根目录pnpm工作区通常在一个包含pnpm-workspace.yaml文件的目录中定义。你需要先定位到这个根目录。

  2. 选择要添加依赖的特定包: 工作区可能包含多个子项目或包,你需要确定要将依赖添加到哪个子项目中。

  3. 使用pnpm添加依赖: 执行命令pnpm add来添加依赖项。如果你想要添加的是一个生产依赖项,你可以直接使用pnpm add <依赖项名称>;如果是开发依赖项,则使用pnpm add <依赖项名称> --save-dev

以下是一些具体的例子:

  • 为指定包添加生产依赖

    sh
    pnpm add lodash --filter <包名>

    这里--filter <包名>选项指定了将依赖项添加到哪个包中。如果你的工作区包名为app,你可以执行:

    sh
    pnpm add lodash --filter app
  • 为指定包添加开发依赖

    sh
    pnpm add typescript --save-dev --filter <包名>

    如果你的包名为app,并且你想要添加TypeScript作为开发依赖项,你可以执行:

    sh
    pnpm add typescript --save-dev --filter app
  • 为所有包添加依赖: 如果你想要将依赖项添加到工作区中的所有包,你可以省略--filter选项或使用通配符:

    sh
    pnpm add axios --filter '*'

请记住,使用pnpm时,当你在工作区的根目录中运行pnpm add命令并使用--filter选项时,依赖关系不仅会被添加到指定的包中,还会在工作区的pnpm-lock.yaml文件中锁定版本,确保工作区中的所有包都使用相同版本的依赖项。

2024年6月29日 12:07 回复

So I found an answer and is using the --filter option.

i.e.

shell
# Using the exact package name pnpm add <package_to_add> --filter <workspace_name> # Or using a pattern pnpm add <package_to_add> --filter <prefix>/*

Same for run, etc...

2024年6月29日 12:07 回复

你的答案