Lerna on AWS CodeBuild & CodeDeploy 未安装本地依赖项

Lerna on AWS CodeBuild & CodeDeploy Not Installing Local Dependencies

所以我有一个名为 backend 的 Typescript 项目,其 package.json:

"dependencies": {
  "@the-couple-game/helpers": "^1.0.0",
}

助手(也是 Typescript)位于另一个文件夹中,其 package.json 如下所示:

{
    "name": "@the-couple-game/helpers",
}

所以 运行ning lerna bootstrap 应该 link 这两个并在后端的 [=34= 中安装 @the-couple-game/helpers ] 它在本地执行。

但是,使用以下 buildspec.yml 使用 Codebuild 执行相同操作(使用 --no-ci 因为我不想使用 npm ci)不会添加 @the-couple-game/helpers 在后端的 node_modules 中。因此,如果我 运行 后端的转译 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 bootstrap(使用从 appspec.yml 调用的脚本),因此它会安装缺少的模块,但 Codebuild 不应该有涵盖了那部分?

谢谢。

事实证明 AWS CodePipeline 在源代码中不支持 symlinks(在我的例子中是 Codebuild)。

因此在部署之后,我将不得不使用 shell 脚本来创建 link lerna link,这对于我的微型 ec2 实例来说并不是一项昂贵的工作.