AWS CDK -- 找不到模块“@aws-cdk/aws-ec2”

blu*_*609 10 module amazon-ec2 amazon-web-services aws-cdk

我昨天刚开始玩 AWS CDK,发现了一些非常奇怪的东西。

首先,我将 TypeScript 用于我的 CDK 应用程序(我曾经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....

Run Code Online (Sandbox Code Playgroud)

但是,以这种方式导入 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
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为这里API 文档清楚地说明这是我应该在打字稿中导入aws-ec2模块的方式

我错过了什么吗?任何帮助将不胜感激,也提前致谢!

Jun*_*san 12

您需要先安装 node 包,然后才能导入和使用它

在命令行执行下面的命令来安装 aws-cdk 的 npm 包

npm i @aws-cdk/aws-ec2
Run Code Online (Sandbox Code Playgroud)


小智 6

npm install (for install lib)
npm run build (for compile your code)
Run Code Online (Sandbox Code Playgroud)

之后,您可以运行:

cdk synth
cdk deploy
Run Code Online (Sandbox Code Playgroud)