适合已配置 Node.js 开发环境的用户,可与前端工具链统一管理版本,便于团队统一环境。
前置要求
- Node.js:必须为 18.x LTS 或 20.x LTS(见 1.2 节),不支持 16.x 及以下
- npm:6.x 以上版本(通常随 Node.js 附带)
- 权限:macOS/Linux 用户建议先安装 nvm,避免使用
sudo导致权限混乱
安装命令
# 标准全局安装
npm install -g @anthropic-ai/claude-code
# 如使用 yarn
yarn global add @anthropic-ai/claude-code
# 如使用 pnpm(推荐,节省磁盘空间)
pnpm add -g @anthropic-ai/claude-code
国内用户镜像加速:
# 临时使用淘宝镜像(仅当前命令有效)
npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com
# 或永久设置 npm 镜像
npm config set registry https://registry.npmmirror.com
npm install -g @anthropic-ai/claude-code
权限问题处理(macOS/Linux)
现象:安装时提示 EACCES: permission denied 或要求输入 sudo 密码。
解决方案(二选一):
方案 A:使用 nvm 管理 Node.js(推荐)
# 安装 nvm(如未安装)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 安装 Node 20 并自动配置权限
nvm install 20
nvm use 20
# 再次安装(无需 sudo)
npm install -g @anthropic-ai/claude-code
方案 B:修改 npm 默认目录(适合已有 Node.js 环境)
# 创建全局安装目录
mkdir ~/.npm-global
# 配置 npm 使用该目录
npm config set prefix '~/.npm-global'
# 将新目录加入 PATH
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc # 或 ~/.bashrc
source ~/.zshrc
# 重新安装(无需 sudo)
npm install -g @anthropic-ai/claude-code
⚠️ 警告:尽量避免 sudo npm install -g,这会导致后续运行 Claude Code 时需要管理员权限才能更新缓存,且存在安全风险。
验证安装
# 检查版本(应显示具体版本号,如 0.2.14)
claude --version
# 检查安装路径(确认来自 npm 全局目录,而非其他安装方式)
which claude
# 典型输出:/Users/用户名/.nvm/versions/node/v20.x.x/bin/claude
# 或:/Users/用户名/.npm-global/bin/claude
更新与卸载
更新:
# 查看当前版本
claude --version
# 更新到最新版
npm update -g @anthropic-ai/claude-code
# 如更新失败,先卸载再重装
npm uninstall -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code
卸载:
npm uninstall -g @anthropic-ai/claude-code
# 清理 npm 缓存(可选)
npm cache clean --force
与官方脚本安装的对比
| 维度 | npm 安装 | 官方脚本(2.1.1) |
|------|----------|------------------|
| 版本更新 | 跟随 npm 仓库,可能滞后 1-2 天 | 官方源,始终最新 |
| 网络依赖 | 受 npm 镜像源影响 | 直接连接 AWS S3 |
| 权限管理 | 需处理 npm 权限问题 | 自动处理用户级/系统级权限 |
| 多版本管理 | 易与 Node 项目版本冲突 | 独立二进制,无冲突 |
| 适合人群 | 已有 Node 环境的开发者 | 所有用户,特别是非 Node 开发者 |
下一步
安装完成后,请确保已完成 1.3 节 的 API Key 配置,然后进入 3.4 节 进行首次启动验证。如遇到 command not found,请检查 npm 全局 bin 目录是否已正确加入 PATH。