【发布时间】:2021-07-29 15:32:48
【问题描述】:
我有两个存储库。第一个包含一个带有两个包的 monorepo:
- bsconfig.json
- package.json
- packages/
- transaction/
- package.json
- transaction.js
- reindexed/
- package.json
- src/
- IDB.res
- ReIndexed.res
packages/reindexed 实际上依赖于packages/transaction。 packages/transaction/packages.json的内容是这样的(片段):
{
"name": "@kaiko-internal/transaction",
"version": "1.0.0",
"main": "transaction.js"
}
文件packages/reindexed/package.json或多或少是这样的:
{
"name": "@kaiko/reindexed",
"version": "0.2.0",
"license": "MIT",
"devDependencies": {
"esbuild": "^0.12.9",
"qunit": "^2.16.0",
"rescript": "^9.1.4"
},
"dependencies": {
"@kaiko-internal/transaction": "1.0.0"
}
}
请注意,第二个项目使用 ReScript 作为主要语言,并包含这一行:
@module("@kaiko-internal/transaction") external transaction: 'a = "default"
(文件transaction.js目前在ReScript中有点难写)
现在在第二个项目中,我像这样依赖@kaiko/reindexed:
{
"dependencies": {
"@kaiko/reindexed": "git+ssh://git@gitlab.com:kaiko-systems/ReIndexed.git#workspaces"
}
}
但是当我运行yarn 并尝试编译这个项目时,我没有得到正确的@kaiko/reindexed 及其依赖项,它基本上无法安装@kaiko-internal/transaction,即import * from '@kaiko-internal/transaction'; 失败。
有没有办法从工作区的 monorepo 安装多个依赖项?
【问题讨论】:
-
我们决定避免使用 monorepo 并将
transaction.js移植到 ReScript。