为何无法在WSL2中使用AWS CDK?报错问题求助
解决WSL2中AWS CDK运行报错:SyntaxError: Unexpected token '?'
这个报错的核心原因是Node.js版本过低,不支持AWS CDK新版本中使用的ES2020可选链语法(?.)。以下是具体解决步骤:
先检查当前Node.js版本:
node -v如果版本低于v14.15.0,必须升级。
用nvm升级Node.js(最稳妥的版本管理方式):
- 卸载系统里的旧版Node(如果是apt安装的):
sudo apt remove -y nodejs npm - 安装nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash - 重启终端,或者手动加载配置让nvm生效:
(用zsh的话替换为source ~/.bashrcsource ~/.zshrc) - 安装长期支持的LTS版本Node:
nvm install --lts - 设置这个LTS版本为默认:
nvm use --lts - 再验证版本,确保是v18.x或更高:
node -v
- 卸载系统里的旧版Node(如果是apt安装的):
重新安装AWS CDK:
npm uninstall -g aws-cdk npm install -g aws-cdk最后验证CDK是否正常运行:
cdk --version
你之前重装、更新CDK没用,是因为Node版本没跟上——新版本CDK要求Node至少v14.15.0,旧版本不支持?.这种语法,所以必须先搞定Node版本。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

