在我的 monorepo 中,我有 3 个包package1, package2, package3,每个包都包含一个名为build.
但是,这些包没有链接在一起。即,require()在任何这些包中都没有链接到同级包。
从根文件夹中,我运行lerna run build. 它似乎build按字母顺序运行包。
有没有办法指定运行build这些包的命令的顺序?
--sort不会工作,因为它们没有链接。
在我的 monorepo 中,我有 3 个包package1, package2, package3,每个包都包含一个名为build.
但是,这些包没有链接在一起。即,require()在任何这些包中都没有链接到同级包。
从根文件夹中,我运行lerna run build. 它似乎build按字母顺序运行包。
有没有办法指定运行build这些包的命令的顺序?
--sort不会工作,因为它们没有链接。
您不指定顺序,而是通过将包作为另一个包的依赖项来指定拓扑。
如果package1需要在package2添加到后者文件中package1的依赖项之前构建。如果您不想直接依赖(例如在生产上),您仍然可以将其添加到其中,Lerna 将理解依赖关系。package2package.jsonpackage2package1devDependencies
来自lerna -h:
--sort 对包进行拓扑排序(依赖项之前的依赖项)。通过 --no-sort 禁用。[布尔] [默认值:真]
注意可以忽略此拓扑运行某些命令,例如来自lerna exec 的 --parallel 选项文档:
完全无视并发和拓扑排序
lerna run build --include-dependencies --stream
--include-dependencies这个标志可以提供帮助
您可以首先构建您的共享包,然后触发另一个构建。
前任 :
yarn workspace @shared run build && yarn lerna run build