已转入 yarn2,放弃使用 lerna+yarn1 的组合,具体原因参考 yarn2 使用 中描述的动机。
根据依赖图并行运行 npm 命令
lerna run --include-dependencies --stream <npm script>
rollup 捆绑 monorepo 仍然存在错误
目前 rollup + node-resolve 插件捆绑本地依赖时仍然存在一些问题,参考:https://github.com/rollup/plugins/issues/743,目前的替代方案是 esbuild。
有时候会始终无法安装正确的版本
例如在 package.json 中声明了依赖
{
"rollup": "^2.51.0" // 实际安装的可能是 2.50.6
}
强制发布新版本
有时候,你也许不小心发布了一个错误的版本,如果希望重新发布,请使用 lerna publish --force-publish
。
适用场景
- 多个开源工具库:例如 babel、react、vue 这种包含许多功能的开源项目
- 不同技术栈的功能的分离:例如分离 electron 主进程与渲染进程,分别在不同的模块开发
如何清理所有 node_modules 和 dist
lerna clean -y && lerna exec -- rimraf dist