You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Yarn 2+列出工作区中所有公开的工作空间

Yarn 2 实现等价 lerna list 功能方案

核心需求匹配

默认yarn workspaces list会返回所有工作区包(含私有包),我们可以通过内置参数+轻量处理实现过滤私有包、输出可解析格式的需求。


具体实现方式

1. 输出JSON格式(适合程序解析)

  • Yarn 2.4及以上版本直接用内置参数
    运行以下命令即可直接输出过滤私有包后的JSON格式结果,每行对应一个公开包的信息,包含包名、路径等字段:
yarn workspaces list --json --no-private

如果需要输出仅包含包名的标准JSON数组,搭配jq工具实现:

yarn workspaces list --json --no-private | jq -s 'map(.name)'
  • 低版本Yarn 2无--no-private参数的场景
    通过verbose参数带出包的私有标识,自行过滤:
yarn workspaces list --verbose --json | jq -s 'map(select(.private != true) | .name)'

2. 输出纯文本换行格式(适合脚本处理)

仅输出公开包名,每行一个:

  • 依赖jq的轻量实现
yarn workspaces list --json --no-private | jq -r '.name'
  • 无额外依赖的Node.js原生实现
    不需要安装jq,直接用系统自带的Node.js处理:
yarn workspaces list --verbose --json | node -e "
  const content = require('fs').readFileSync(0, 'utf8').trim()
  content.split('\n').forEach(line => {
    const pkg = JSON.parse(line)
    if (!pkg.private) console.log(pkg.name)
  })
"

内容的提问来源于stack exchange,提问作者sydd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:15:03