所以我有一个名为 backend 的 Typescript 项目,在它的 package.json 中有这样的依赖:
"dependencies": {
"@the-couple-game/helpers": "^1.0.0",
}
助手(也是 Typescript)位于另一个文件夹中,其 package.json 如下所示:
{
"name": "@the-couple-game/helpers",
}
因此,运行lerna bootstrap应该将两者链接起来,并将 @the-couple-game/helpers 安装在后端的 node_modules 中,它在本地执行。
但是,使用以下 buildspec.yml 使用 Codebuild 执行相同操作(使用 --no-ci,因为我不想要 npm ci)不会在后端的 node_modules 中添加 @the-couple-game/helpers。因此,如果我运行后端的转译 index.js,它会抱怨缺少模块。
version: 0.1
phases:
install:
commands:
- npm install -g lerna
pre_build:
commands:
- lerna bootstrap --no-ci --concurrency 4
build:
commands:
- lerna run build --concurrency 4
artifacts:
files:
- "**/*"
现在,我不得不在部署到 CodeDeploy 之后手动执行 lerna 引导(使用从 appspec.yml 调用的脚本),以便它安装缺少的模块,但 Codebuild 不应该涵盖该部分吗?
谢谢。