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 实例来说并不是一项昂贵的工作.
所以我有一个名为 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 实例来说并不是一项昂贵的工作.