我昨天刚开始玩AWS CDK,我发现了一些很奇怪的东西。
首先,我为我的CDK应用程序使用了TypeScript (我使用cdk init --language typescript生成项目文件,并试图导入aws-ec2模块,所以我这样做了:
import cdk = require('@aws-cdk/core');
import ec2 = require('@aws-cdk/aws-ec2');
export class vpcStack extends cdk.Stack {
constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
//.... all other codes go here....但是,当以这种方式导入aws-ec2模块时,我在尝试部署堆栈时遇到了以下错误:
⨯ Unable to compile TypeScript:
lib/cdk-type_script-stack.ts:2:22 - error TS2307: Cannot find module '@aws-cdk/aws-ec2'.
2 import ec2 = require('@aws-cdk/aws-ec2');
~~~~~~~~~~~~~~~~~~
Subprocess exited with error 1这很奇怪,因为API文档就在这里清楚地说明了我应该如何在TypeScript中导入aws-ec2模块。
发布于 2019-10-01 04:32:55
您需要在导入和使用节点包之前安装它。
在命令行上执行下面的命令,以安装aws的npm包。
npm i @aws-cdk/aws-ec2发布于 2019-10-24 04:17:41
npm install (for install lib)
npm run build (for compile your code)在此之后,您可以运行:
cdk synth
cdk deploy发布于 2021-05-13 19:50:47
您可能有一个与@aws/管道版本不兼容的npm版本,如下所述:https://github.com/aws/aws-cdk/issues/13541#issuecomment-801606777。
https://stackoverflow.com/questions/58178066
复制相似问题