我正在尝试使用 Lerna 设置我的 monorepo。该计划是通过提取应该是他们自己的包的代码块来重构现有项目。我已经运行了lerna init
,我当前的设置如下所示:
project/
packages/
new-refactored-package/
package.json
prior-existing-project/
package.json
{ "dependencies" : { "new-refactored-package" : "latest" } }
package.json
{
"devDependencies": {
"lerna": "^2.0.0-rc.5"
}
}
lerna.json
{
"lerna": "2.0.0-rc.5",
"packages": [
"packages/*"
],
"version": "0.0.0"
}
我的理解是,lerna bootstrap
此时应该位于项目中package1
并将其符号链接到prior-existing-project
. /node_modules/new-refactored-package/
来自lerna 的自述文件:
引导当前 Lerna 存储库中的包。安装它们的所有依赖项并链接任何交叉依赖项。
运行时,此命令将:
- npm 安装每个包的所有外部依赖项。
- 将所有相互依赖的 Lerna 包符号链接在一起。
- npm 预发布所有引导程序包。
但是,当我运行它时,lerna 会尝试npm install new-refactored-package
:
npm 错误!404 注册表在https://registry.npmjs.org/new-refactored-package上为 GET 返回 404
我是不是误会了?我是否首先必须将依赖的包发布到npm
?