cdk init初始化CDK项目时如何固定指定TypeScript版本
CDK init 指定TypeScript版本的解决方案
cdk@1.138.2 版本的 init 命令没有提供任何内置命令行参数,可以直接强制指定初始化时使用的TypeScript版本,该版本的TypeScript模板硬编码了typescript依赖版本为^3.9.7,没有暴露自定义依赖版本的传参入口。
你可以通过以下两种方式实现使用指定TS版本的目的:
- 方案1:初始化后手动修改版本(最稳定,推荐使用)
- 正常执行原有初始化命令:
npx --yes cdk@1.138.2 init app --language typescript --generate-only - 打开生成的
package.json文件,找到devDependencies配置块里的typescript字段,将版本号从^3.9.7修改为你需要的4.6.4 - (可选校验)同步检查同块下的
ts-node、@types/node等配套依赖版本,确认和TypeScript 4.6.4兼容即可,避免后续编译报错 - 执行
npm install完成依赖安装
- 正常执行原有初始化命令:
- 方案2:通过npm override提前锁定版本(适合npm 8.3.0+版本,不推荐)
- 在空项目目录先执行
npm init -y生成初始package.json - 在该文件中添加
overrides配置,强制锁定TS版本:{ "overrides": { "typescript": "4.6.4" } } - 再执行你的cdk init命令,初始化完成后注意校验生成的
tsconfig.json配置是否适配TS 4.6语法规则,避免兼容问题
- 在空项目目录先执行
注意:CDK 1.x版本官方原生适配的是TypeScript 3.x版本,强制升级到4.6.4后如果出现类型校验、合成失败的问题,需要自行调整配置或对应代码。
内容的提问来源于stack exchange,提问作者Darth.Vader
相关产品推荐
相关产品推荐

