Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 纱线工作空间隔离_Angular_Angular Library_Yarn Workspaces - Fatal编程技术网

Angular 纱线工作空间隔离

Angular 纱线工作空间隔离,angular,angular-library,yarn-workspaces,Angular,Angular Library,Yarn Workspaces,我在空的设置上遇到了一些问题(当我在npm上没有任何版本的LIB时) 我有一个多模块项目,结构如下: root # Yarn workspace * packages | * lib1-ws # Angular workspace | | * projects | | | * lib1 | | | * package.json | | * package.json | | |

我在空的设置上遇到了一些问题(当我在npm上没有任何版本的LIB时)

我有一个多模块项目,结构如下:

root                        # Yarn workspace
 * packages
 |  * lib1-ws               # Angular workspace
 |  |  * projects
 |  |  |  * lib1
 |  |  |     * package.json
 |  |  * package.json
 |  |
 |  * lib2-ws               # Angular workspace
 |  |  * projects
 |  |  |  * lib2
 |  |  |     * package.json # peer depends on lib1
 |  |  * package.json       # depends on lib1
 |  |
 |  * lib3-ws               # Angular workspace
 |     * projects
 |     |  * lib3
 |     |     * package.json # peer depends on lib1
 |     * package.json       # depends on lib1
 |
 * package.json
项目lib2ws和lib3ws需要构建lib1

我试图发布(安装、构建和发布)lib1,以便发布lib2和lib3

但是,当我运行
warn workspace lib1 ws install
warn install
(在lib1 ws文件夹中)时,warn也会尝试安装lib2 wslib3 ws,导致安装操作中断,出现以下错误:

错误:找不到“lib2”所需的包“lib1@^0.0.1”-ws@0.0.1“npm”注册表中的

不确定我遗漏了什么,是否可以运行一些命令来忽略这个
工作区聚合器
东西


谢谢。

我似乎搜索得不够,在发布了这个问题后,我读了另一篇文章,给了我一个想法

“我的工作空间”对象如下所示:

"workspaces": {
  "packages": [
    "packages/*",
    "packages/**/projects/*"
  ]
}
现在我可以安装,甚至不需要构建或发布

[更新]

由于某些角度构建的特殊性,在安装所有依赖项之后,空安装程序必须执行某些顺序(因为工作区为LIB创建符号链接):

  • 构建lib1,然后发布lib1
  • lib2-ws-addlib1@latest
  • lib3-ws-addlib1@latest
  • 构建lib2,然后发布lib2
  • 构建lib3,然后发布lib3

  • 完成这些步骤后,我的LIB在我的verdaccio本地存储库中准备就绪。

    嘿,你能只安装每个工作区所需的node_模块吗?我不确定,因为我停止了使用此体系结构的项目的工作。