昨天我才刚开始使用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 docs right here明确指出这是我应该在打字稿中导入 aws-ec2 模块的方式
我想念什么吗?任何帮助将不胜感激,也,在此先感谢! ?
答案 0 :(得分:2)
您需要先安装节点软件包,然后才能导入和使用
在命令行上执行以下操作,以安装aws-cdk的npm软件包
npm i @aws-cdk/aws-ec2
答案 1 :(得分:0)
npm install (for install lib)
npm run build (for compile your code)
之后,您可以运行:
cdk synth
cdk deploy
答案 2 :(得分:0)
您的 npm 版本可能与 @aws-cdk/pipelines 版本不兼容,如下所述:https://github.com/aws/aws-cdk/issues/13541#issuecomment-801606777