“Lerna List”和“Lerna Changed”返回 0 个包

Posted

技术标签:

【中文标题】“Lerna List”和“Lerna Changed”返回 0 个包【英文标题】:"Lerna List" and "Lerna Changed" Returns 0 Packages 【发布时间】:2020-03-04 07:38:48 【问题描述】:

要点

我有一个 monorepo,我正在使用 yarn workspaces 和 lerna 来管理它。到目前为止,我没有任何问题。我需要知道自上次发布以来所有更改的包。

问题

所以我运行lerna changed (docs),但这是它返回的内容:

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 在运行lerna list (docs) 时也找不到任何包:

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】:

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

lerna changed --all
lerna list -all

【讨论】:

感谢分享。如果所有包都是私有的,什么被认为是“发布”?我在同一条船上,将我所有的包裹都标记为私人。现在,对于下一次部署,我需要知道更改的包。我们该怎么做?我们如何在此处标记发布?

以上是关于“Lerna List”和“Lerna Changed”返回 0 个包的主要内容,如果未能解决你的问题,请参考以下文章

第三十一节:扫盲并发和并行同步和异步进程和线程阻塞和非阻塞响应和吞吐等

shell中$()和 ` `${}${!}${#}$[] 和$(()),[ ] 和(( ))和 [[ ]]

Java基础8---面向对象代码块和继承和this和super和重写和重载和final

Java基础8---面向对象代码块和继承和this和super和重写和重载和final

JS中some()和every()和join()和concat()和pop(),push(),shift(),unshfit()和map()和filter()

malloc和free,brk和sbrk和mmap和munmap的使用和关系以及内存分配的原理