"Lerna List"和"Lerna Changed"返回0个包。

11

Gist

我有一个monorepo,使用yarn工作区lerna进行管理。目前为止,我一直没有遇到任何问题。但是现在我需要知道自上次发布以来所有已更改的包。

Issue

我运行lerna changed文档),但它返回以下内容:

info cli using local version of lerna
lerna notice cli v3.16.4
lerna info Looking for changed packages since v0.3.0
lerna info No changed packages found

同样地,当运行 lerna list 时,lerna 找不到任何软件包(文档):

info cli using local version of lerna
lerna notice cli v3.16.4
lerna success found 0 packages

似乎出现了故障,但是在我的设置中我找不到任何问题。

设置

文件树

├── lerna.json
├── package.json
├── packages
│   ├── enums
│   ├── event-sourcing
│   ├── models
│   └── utils
└── services
    ├── consumer
    ├── frontend
    ├── gateway
    └── ideas

lerna.json

{
  "packages": [
    "packages/*",
    "services/*"
  ],
  "version": "0.3.0",
  "useWorkspaces": "true"
}

package.json

{
  "name": "cents-ideas",
  "version": "0.0.0",
  "workspaces": [
    "packages/*",
    "services/*"
  ],
  "private": true,
  "devDependencies": {
    "lerna": "^3.16.4",
    "npm-run-all": "^4.1.5",
    "rimraf": "^3.0.0",
    "typescript": "^3.6.2"
  }
}

整个存储库在GitHub上,如果您想更仔细地查看它。

1个回答

46

解决方案非常简单。由于我所有的软件包在它们的package.json文件中都有一个"private": true,所以我需要添加--all标志。

lerna changed --all
lerna list -all

2
谢谢分享。如果所有的包都是私有的,那么什么被认为是“发布”?我也面临同样的问题,我的所有包都标记为私有。现在,对于下一次部署,我需要知道哪些包已经更改。我们该如何处理?我们如何在这里标记一个发布版本? - systemdebt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接