运行aws-cdk --version时出现SyntaxError: Unexpected token ?错误求助
解决AWS CDK
SyntaxError: Unexpected token ? 问题 问题根源
报错核心原因是Node.js版本过低,不支持AWS CDK v2代码中使用的ES2020+语法(比如可选链操作符?.,报错信息里的Unexpected token ?即指向该语法)。你安装的CDK v2.121.1要求Node.js版本至少为16.x,当前环境的Node版本未达到该要求。
解决方案
1. 检查当前Node.js版本
执行命令确认版本:
node --version
若输出版本低于v16.0.0,必须升级。
2. 升级Node.js
推荐用版本管理器安装切换,避免系统级冲突:
- Windows系统:使用nvm-windows
- 卸载已安装的Node.js(可选,防止版本冲突)
- 安装nvm-windows后执行:
nvm install 18 # 安装LTS版本18.x nvm use 18 # 切换到该版本
- Linux/macOS系统:使用nvm
执行:nvm install 18 nvm use 18 - 也可直接从Node.js官网下载LTS版本(18.x或20.x)安装。
3. 重新安装AWS CDK
先卸载全局旧版本:
npm uninstall -g aws-cdk
再重新安装:
npm install -g aws-cdk
4. 验证修复
执行命令确认版本:
aws-cdk --version
此时应能正常输出CDK版本号。
内容的提问来源于stack exchange,提问作者Tom Henricksen
相关产品推荐
相关产品推荐

