gpt4 book ai didi

aws-code-deploy - AWS CodeBuild 和 CodeDeploy 上的 Lerna 未安装本地依赖项

转载 作者:行者123 更新时间:2023-12-02 02:53:31 27 4
gpt4 key购买 nike

所以我有一个名为 backend 的 Typescript 项目,其 package.json 中具有这样的依赖关系:

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

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

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

因此,运行lerna bootstrap应该将两者链接起来,并在后端的node_modules中安装@the- Couple-game/helpers,这是在本地执行的。

但是,使用 Codebuild 使用下面的 buildspec.yml 执行相同的操作(使用 --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 Bootstrap (使用从 appspec.yml 调用的脚本),以便它安装缺少的模块,但 Codebuild 不应该覆盖该部分吗?

谢谢。

最佳答案

事实证明,AWS CodePipeline 不支持源代码中的符号链接(symbolic link)(在我的例子中为 Codebuild)。 Reference

因此,部署后,我必须使用 shell 脚本来创建链接,这对于我的微型 ec2 实例来说并不是一项昂贵的工作。

关于aws-code-deploy - AWS CodeBuild 和 CodeDeploy 上的 Lerna 未安装本地依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61562875/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com