DTo*_*odt 5 angular angular-library yarn-workspaces
我在空设置上遇到了一些纱线问题(当我在 npm 上没有任何版本的库时)。
我有一个多模块项目,结构如下:
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
Run Code Online (Sandbox Code Playgroud)
项目 lib2-ws 和 lib3-ws 需要构建 lib1。
我试图发布(安装、构建和发布) lib1 以便我可以发布lib2和lib3。
但是,当我运行yarn workspace lib1-ws install或yarn install(在lib1-ws文件夹中)时,yarn 也尝试安装lib2-ws和lib3-ws,使用此错误中断安装操作:
错误在“npm”注册表中找不到“lib2-ws@0.0.1”所需的包“lib1@^0.0.1”。
不知道我错过了什么,是否有一些命令可以运行来忽略这个workspace-aggregator东西?
谢谢。
看来我搜索得不够,发布这个问题后,我读了另一个问题,给了我一个想法。
我的工作区对象变成这样:
"workspaces": {
"packages": [
"packages/*",
"packages/**/projects/*"
]
}
Run Code Online (Sandbox Code Playgroud)
它有效,现在我什至可以安装而无需构建或发布。
[更新]
由于一些角度构建的特殊性,在安装所有依赖项后,空设置必须执行一些命令(因为yarn工作空间为库创建符号链接):
build lib1 then publish lib1yarn workspace lib2-ws add lib1@latestyarn workspace lib3-ws add lib1@latestbuild lib2 then publish lib2build lib3 then publish lib3完成此步骤后,我的库已在 verdaccio 本地存储库中准备就绪。
| 归档时间: |
|
| 查看次数: |
1780 次 |
| 最近记录: |