You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS CDK构建代码流水线时遇Cloud Assembly Schema版本不兼容问题

CDK流水线CodeBuild阶段版本不兼容问题

已尝试过常见的CDK版本匹配方案,但构建CodePipeline时仍遇到CLI与库版本不兼容问题。CodeCommit拉取代码阶段正常,错误出现在CodeBuild阶段。

错误信息

This CDK CLI is not compatible with the CDK library used by your application. Please upgrade the CLI to the latest version.
(Cloud assembly schema version mismatch: Maximum schema version supported is 21.0.0, but found 22.0.0)

流水线代码

this.codePipeline = new CodePipeline(this, `${environment}-${appName}-`, {
  pipelineName: `${environment}-${appName}-`,
  selfMutation: true,
  crossAccountKeys: false,
  role: this.codePipelineRole,
  synth: new ShellStep("Deployment", {
    input: CodePipelineSource.codeCommit(this.codeRepository, environment, {
      codeBuildCloneOutput: true
    }),
    installCommands: ["npm uninstall -g aws-cdk", "npm i -g npm@latest", "npm install -g aws-cdk"],
    commands: [
      "cd backend",
      "npm ci",
      "npm run build",
      "npx cdk synth",
    ],
    primaryOutputDirectory: "backend/cdk.out",
  })
});

package.json依赖

"dependencies": {
    "@aws-cdk/aws-appsync-alpha": "^2.55.1-alpha.0",
    "aws-cdk-lib": "^2.58.0",
    "aws-sdk": "^2.1278.0",
    "constructs": "^10.1.204",
    "git-branch": "^2.0.1",
    "source-map-support": "^0.5.21"
  }

解决办法

  • 锁定CDK CLI版本与依赖一致:不要全局安装latest版本,而是指定和aws-cdk-lib相同的2.58.0版本安装,修改installCommands:
    ["npm uninstall -g aws-cdk", "npm i -g npm@latest", "npm install -g aws-cdk@2.58.0"]
    
  • 使用npx指定版本执行synth:避免全局版本冲突,直接在commands里用指定版本的npx命令:
    "npx aws-cdk@2.58.0 synth"
    
  • 验证selfMutation是否生效:开启selfMutation后,流水线会自动更新自身的CDK版本,但如果初始流水线是用旧版本部署的,需要手动触发一次流水线执行,或者本地先运行cdk deploy更新流水线本身。
  • 检查CodeBuild环境的CLI路径:在installCommands末尾添加which cdk和cdk --version,确认使用的是刚安装的2.58.0版本,避免环境中存在旧版本的CLI路径优先级更高。

内容的提问来源于stack exchange,提问作者Luke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 06:01:00