SyntaxError: Unexpected token ’{’ 错误
错误信息
运行 claude 命令时出现以下错误:
SyntaxError: Unexpected token '{'
at Loader.moduleStrategy (node:internal/modules/esm/translators:147:18)
at async link (node:internal/modules/esm/module_job:48:21)或类似的语法错误:
SyntaxError: Unexpected token '...'
SyntaxError: Unexpected identifier原因分析
这个错误表明你的 Node.js 版本过低。
Claude Code 使用了现代 JavaScript 语法特性(如对象解构、可选链操作符、空值合并运算符等),这些特性需要 Node.js 18.x 或更高版本才能支持。
如果你的系统安装了较旧版本的 Node.js(如 v14、v16 等),就会在解析代码时出现语法错误。
解决方法
步骤 1:检查当前 Node.js 版本
打开 PowerShell 或终端,运行:
node --version如果显示的版本号小于 v18(例如 v14.17.0 或 v16.13.0),则需要升级。
步骤 2:升级 Node.js
Windows 系统
方法一:使用 winget(推荐)
winget install OpenJS.NodeJS方法二:手动下载安装
- 访问 Node.js 官网
- 下载 LTS(长期支持)版本
- 运行安装程序,按照向导完成安装
方法三:使用 Chocolatey
choco upgrade nodejsmacOS 系统
使用 Homebrew:
brew upgrade node或手动下载:
访问 Node.js 官网 下载最新 LTS 版本。
Linux 系统
使用 nvm(推荐):
nvm install --lts
nvm use --lts使用包管理器:
# Ubuntu/Debian
sudo apt update
sudo apt install nodejs npm
# CentOS/RHEL
sudo dnf install nodejs npm步骤 3:验证升级结果
升级完成后,重新打开终端窗口,然后验证版本:
node --version确保显示的版本号为 v18.x.x 或更高。
步骤 4:重新安装 Claude Code
如果之前安装失败,建议重新安装:
npm install -g @anthropic-ai/claude-code然后运行 claude 验证是否正常工作。
提示:升级 Node.js 后,之前全局安装的 npm 包可能需要重新安装。如果遇到问题,可以尝试先卸载再重新安装 Claude Code:
npm uninstall -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code预防措施
为避免将来遇到类似问题,建议:
- 使用 Node.js LTS 版本:LTS(长期支持)版本更稳定,兼容性更好
- 定期更新 Node.js:保持 Node.js 版本为最新的 LTS 版本
- 使用版本管理工具:如 nvm(Node Version Manager),可以方便地切换和管理多个 Node.js 版本