我有一个正在开发的项目的 lerna repo。它有几个相互依赖的包。为了使开发更容易,没有发布任何包,它们依赖于彼此的最新版本。
目录树
foo/
packages/
core/
package.json
errors/
package.json
foo/packages/core/package.json
{
...
dependencies: {
"@foo/errors": "*"
}
}
我有另一个项目,bar
我用来测试 lerna 项目。目前我正在使用本地file:
依赖项链接到它的依赖项:
栏/package.json
{
...
dependencies: {
"@foo/core": "../foo/packages/core"
}
}
这种方法给我带来了麻烦。
- 使用 npm,我经常遇到ENOENT .DELETE 错误。删除我的 package-lock.json 并重新安装已经让我失去了很多年。
- 使用纱线,我一直无法
yarn install
进入bar
. Yarn 遵循file:
to 的依赖关系@foo/core
,看到它依赖于@foo/errors
并且不知道 lerna 的符号链接。这导致它失败,告诉我它找不到@foo/errors
。
这使得为这个项目编写实际代码仅次于依赖管理的混乱。
我怎样才能使这个(我觉得很简单?)项目结构工作?此时打开 lerna/yarn/npm/pnpm/shell scripts/MS DOS。