首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每当尝试通过gitlab部署带有cdk的后端时都会出错,在本地,它将按预期工作

每当尝试通过gitlab部署带有cdk的后端时都会出错,在本地,它将按预期工作
EN

Stack Overflow用户
提问于 2021-08-10 08:45:33
回答 2查看 904关注 0票数 1

我试图在AWS云中使用CDK部署后端无服务器资源,但是在通过GitLab构建部署时会出现错误。尝试在当地的视觉工作室,它的工作很好。

错误如下:

代码语言:javascript
复制
$ npm run deploy-backend
> ui-dashboard-infra@0.0.0 deploy-backend /builds/project/control-panel/infra
> cdk deploy --app 'ts-node stacks/backend' --all --require-approval never
Bundling asset dashboard-A/restFunctionFallbackus-east-1/Code/Stage...
/builds/project/control-panel/infra/node_modules/@aws-cdk/core/lib/asset-staging.ts:398
      throw new Error(`Failed to bundle asset ${this.node.path}, bundle output is located at ${bundleErrorDir}: ${err}`);
            ^
Error: Failed to bundle asset dashboard-A/restFunctionFallbackus-east-1/Code/Stage, bundle output is located at /builds/project/control-panel/infra/cdk.out/bundling-temp-4607286efdd890681baca6f8a5d9b9b32929fa84e9947500fbe203e5b5d06a0f-error: Error: spawnSync bash ENOENT
    at AssetStaging.bundle (/builds/project/control-panel/infra/node_modules/@aws-cdk/core/lib/asset-staging.ts:398:13)
    at AssetStaging.stageByBundling (/builds/project/control-panel/infra/node_modules/@aws-cdk/core/lib/asset-staging.ts:246:10)
    at stageThisAsset (/builds/project/control-panel/infra/node_modules/@aws-cdk/core/lib/asset-staging.ts:137:35)
    at Cache.obtain (/builds/project/control-panel/infra/node_modules/@aws-cdk/core/lib/private/cache.ts:24:13)
    at new AssetStaging (/builds/project/control-panel/infra/node_modules/@aws-cdk/core/lib/asset-staging.ts:162:44)
    at new Asset (/builds/project/control-panel/infra/node_modules/@aws-cdk/aws-s3-assets/lib/asset.ts:68:21)
    at AssetCode.bind (/builds/project/control-panel/infra/node_modules/@aws-cdk/aws-lambda/lib/code.ts:180:20)
 
Subprocess exited with error 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ui-dashboard-infra@0.0.0 deploy-backend: `cdk deploy --app 'ts-node stacks/backend' --all --require-approval never`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the ui-dashboard-infra@0.0.0 deploy-backend script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-08-10T08_29_17_449Z-debug.log
EN

回答 2

Stack Overflow用户

发布于 2022-04-02 19:14:24

我也遇到过类似的问题,问题是在2021年2月25日之前发布的cdk版本中有一个bug。

为此,请确保您使用的是最新版本的cdk,或者您的文件PATHNAME中没有任何空白(任何具有空格的目录名或具有空格的用户名都可能导致此问题)。当我从路径名中移除空白后,一切就开始正常工作了。

票数 2
EN

Stack Overflow用户

发布于 2022-08-04 05:53:08

我和你犯了同样的错误。在我的例子中,问题是我将esbuild作为一个依赖项安装在CDK文件夹中,而不是在我的Lambda函数的文件夹中。

通过在我的Lambda函数文件夹中将esbuild 安装为一个依赖项,I能够解决这个问题。如果您不想这样做,您也可以通过将命令npm i -g esbuild添加到管道中来将其全局安装到管道中(考虑将其固定在特定版本的ie中)。npm i -g esbuild@x.y.z)。

不知道为什么在没有安装在函数文件夹中的esbuild的情况下,它在本地工作,但是在Gitlab管道…中执行相同的操作时却崩溃了。我并没有在我的本地机器上安装在全球范围内。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68723644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档