AWS CDK——找不到模块“@aws-cdk/aws-ec2”
AWS CDK -- Cannot find module '@aws-cdk/aws-ec2'
我昨天刚开始玩 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....
但是,当以这种方式导入 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 清楚地说明了我应该如何在 typescript
中导入 aws-ec2 模块
我错过了什么吗?任何帮助将不胜感激,也在此先感谢!
导入使用前需要安装node包
在命令行中执行以下命令为 aws-cdk 安装 npm 包
npm i @aws-cdk/aws-ec2
npm install (for install lib)
npm run build (for compile your code)
之后,您可以运行:
cdk synth
cdk deploy
您的 npm 版本可能与 @aws-cdk/pipelines 的版本不兼容,如下所述:https://github.com/aws/aws-cdk/issues/13541#issuecomment-801606777
除了@juned-ashan 的回答之外,请确认您正在安装与您的 cdk 版本(以及安装的其他 cdk 模块)相对应的正确模块版本。
例如:
$ npm install --save @aws-cdk/aws-ec2@1.10.0
注意:积分不足,无法在 Juned 的回答中添加此评论。
我昨天刚开始玩 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....
但是,当以这种方式导入 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 清楚地说明了我应该如何在 typescript
中导入 aws-ec2 模块我错过了什么吗?任何帮助将不胜感激,也在此先感谢!
导入使用前需要安装node包
在命令行中执行以下命令为 aws-cdk 安装 npm 包
npm i @aws-cdk/aws-ec2
npm install (for install lib)
npm run build (for compile your code)
之后,您可以运行:
cdk synth
cdk deploy
您的 npm 版本可能与 @aws-cdk/pipelines 的版本不兼容,如下所述:https://github.com/aws/aws-cdk/issues/13541#issuecomment-801606777
除了@juned-ashan 的回答之外,请确认您正在安装与您的 cdk 版本(以及安装的其他 cdk 模块)相对应的正确模块版本。
例如:
$ npm install --save @aws-cdk/aws-ec2@1.10.0
注意:积分不足,无法在 Juned 的回答中添加此评论。