这个错误通常出现在使用 AWS CloudFormation 时,因为该框架期望构造函数具有 onValidate、onPrepare 和 onSynthesize 属性。这个错误可能是因为 TypeScript 的版本与 AWS CDK 的版本不兼容导致的。您可以尝试更新 TypeScript 的版本,或者指定 compatibleDependencyVersions 参数以使用兼容的依赖版本。例如:
// package.json { "dependencies": { "aws-cdk-lib": "1.115.0" }, "devDependencies": { "typescript": "3.9.7" }, "cdkDependencies": [ "@aws-cdk/aws-ec2@1.115.0" ], "compatibility": "2022-06-01", "compatibilityDependencies": { "@aws-cdk/core": "1.115.0", "constructs": "3.4.2" } }
在这个例子中,我们指定了 AWS CDK 的版本号为 "1.115.0",TypeScript 的版本号为 "3.9.7",并通过 compatibleDependencyVersions 参数指定了 core 和 constructs 的版本号,以确保它们与 AWS CDK 的版本号兼容。