我收到以下错误:
此 CDK CLI 与您的应用程序使用的 CDK 库不兼容。请将 CLI 升级到最新版本。(云组装架构版本不匹配:支持的最大架构版本是 8.0.0,但发现是 9.0.0)
发出cdk diff命令后。
我确实运行了,npm install -g aws-cdk@latest之后我成功安装了新版本的软件包:Successfully installed aws-cdk.assets-1.92.0 aws-cdk.aws-apigateway-1.92.0 aws-cdk.aws-apigatewayv2-1.92.0 ... etc. 和pip install -r requirements.txt
但是打字后cdk --version我仍然得到1.85.0 (build 5f44668).
我的部分setup.py如下:
install_requires=[
"aws-cdk.core==1.92.0",
"aws-cdk.aws-ec2==1.92.0",
"aws-cdk.aws_ecs==1.92.0",
"aws-cdk.aws_elasticloadbalancingv2==1.92.0"
],
Run Code Online (Sandbox Code Playgroud)
我现在卡住了,因为将软件包降级setup.py到 1.85.0 throwing ImportError: cannot import name 'CapacityProviderStrategy' from 'aws_cdk.aws_ecs'。
帮助:),我想使用最新的软件包版本。
小智 8
在升级 package.json 中的 cdk 后,我在打字稿包中遇到了这个问题。正如 Maciej 指出的那样,升级似乎不起作用。我正在使用 npm 安装 cdk cli,卸载后安装解决了该问题。
npm -g uninstall aws-cdk
npm -g install aws-cdk
Run Code Online (Sandbox Code Playgroud)
所以我已经修复了它,但是太混乱了,无法描述步骤。
符号链接似乎有问题
/usr/local/bin/cdk
Run Code Online (Sandbox Code Playgroud)
它指向版本1.85.0而不是我更新到的版本1.92.0。
aws-cdk我从 中删除node_modules并再次安装它,然后删除符号链接/usr/local/bin/cdk并使用手动重新创建它
ln -s /usr/lib/node_modules/aws-cdk/bin/cdk /usr/local/bin/cdk
Run Code Online (Sandbox Code Playgroud)
对于那些不使用全局安装(使用 cdk from node_modules)并使用 mono-repo 的人。此问题是由于aws-cdk包devDependencies的依赖项版本与包不匹配造成的。
"aws-cdk": "2.18.0"我在我的根目录中使用package.json,但我所有的包都用作"aws-cdk-lib": "2.32.1"它们的依赖项。通过更新根package.json来使用"aws-cdk": "2.31.1"它解决了这个问题。