1. 为什么 Claude Code 安装总卡在 Node 和 Git Bash 上
Claude Code 是 Anthropic 推出的终端 AI 编程助手,能直接在命令行里读写项目文件、跑测试、改 bug,适合习惯用终端干活的开发者。但它的安装门槛不在 Claude Code 本身,而在两个前置依赖:Node.js 和 Git Bash。我见过太多人卡在这两步——要么是电脑里 Node 版本太老(低于 18),要么是装了 Node 但 npm 全局目录权限乱掉,要么是 Windows 上 Git Bash 路径没配好,敲claude直接报「command not found」。
更麻烦的是,很多人手动下载 Node 安装包,装完一个版本后想升级,结果旧版本残留、环境变量指向错乱,node -v和npm -v显示的版本对不上。这时候最稳的做法不是重装系统,而是用 nvm(Node Version Manager)把 Node 版本管起来,想切哪个切哪个。这篇就按 Windows 和 macOS 两条线,把 nvm 安装、Node 切换、Claude Code 安装、TaoToken 统一 Key 配置串成一条可复制的流程,最后给出终端验证成功的具体动作。
2. 前置准备:nvm 装好,Node 版本不再打架
nvm 的核心价值是让你在同一台机器上装多个 Node 版本,并且用一条命令切换。Claude Code 要求 Node.js 18 及以上,我建议直接用 20 LTS 或 22 LTS,稳定且兼容性好。
2.1 Windows 下安装 nvm-windows
Windows 不能用 Linux 那套 nvm 脚本,要用 nvm-windows。去 GitHub 搜coreybutler/nvm-windows,下载nvm-setup.exe。安装时注意两个路径:nvm 自己的安装目录,以及它用来放 Node 软链接的目录(默认C:\Program Files\nodejs)。如果你之前手动装过 Node,安装程序会问你是否接管现有版本,选「是」让它统一管理。
装完后必须用管理员身份打开新的 PowerShell 或 CMD,否则 nvm 写软链接会失败。验证:
nvm version能打印版本号就说明 nvm 本身通了。接着装 Node:
nvm install 20.18.0 nvm use 20.18.0 node -vnode -v输出v20.18.0就对了。如果报「exit status 1」或「access denied」,八成是没用管理员权限,或者杀毒软件拦了软链接,关掉实时防护重试。
2.2 macOS 下安装 nvm
macOS 用官方脚本最省事。打开终端,先确认有~/.zshrc(新版 macOS 默认 zsh):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash如果这条命令拉不动,说明网络到 GitHub 不稳,可以换用 Homebrew:brew install nvm,然后按提示在~/.zshrc里加:
export NVM_DIR="$HOME/.nvm" [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && . "/opt/homebrew/opt/nvm/nvm.sh"保存后source ~/.zshrc,再nvm install 20.18.0 && nvm use 20.18.0。macOS 上一般不会遇到权限问题,因为 nvm 把 Node 装在用户目录下,不需要 sudo。
2.3 为什么不用手动装 Node
手动装 Node 的坑在于:升级时要先卸载旧版,卸载不干净就会残留node_modules全局包和 PATH 冲突。nvm 把每个版本隔离在独立目录,切换时只改软链接,干净利落。而且 Claude Code 后续如果对 Node 版本有要求变化,你一条nvm use就能换,不用重装。
3. Git Bash 路径不通?Windows 专属排障
Claude Code 在 Windows 上依赖 Git Bash 来执行 shell 命令,因为它的很多内部操作是基于 Unix shell 语义的。如果你只装了 Git 但没让 Claude Code 找到 bash,就会报「bash not found」或命令执行到一半卡住。
3.1 安装 Git for Windows
去 Git 官网下载Git for Windows,安装时组件选择保持默认即可,但有一项要注意:在「Adjusting your PATH environment」页面,选「Git from the command line and also from 3rd-party software」,这样 bash 才会进 PATH。装完验证:
bash --version如果这条命令在 PowerShell 里报错,说明 Git 的bin目录没进 PATH。手动加一下:默认路径是C:\Program Files\Git\bin,把它加到系统环境变量 Path 里,重开终端。
3.2 让 Claude Code 明确知道 bash 在哪
即使bash --version能跑,Claude Code 有时还是找不到,因为它可能去查SHELL环境变量。稳妥做法是在系统环境变量里加一条:
SHELL=C:\Program Files\Git\bin\bash.exe加完重启终端。这一步能解决大部分「Git Bash 路径不通」的报错。如果你把 Git 装在了非默认盘,把路径换成你自己的实际路径。
3.3 验证 bash 能被 Claude Code 调用
装完 Claude Code 后(下一节讲),在项目目录里让它跑一条 shell 命令,比如「列出当前目录文件」,如果它能正常返回结果,说明 bash 链路通了。如果报错,回到 3.2 检查SHELL变量。
4. 安装 Claude Code 并接入 TaoToken 统一 Key
Node 和 Git Bash 都就绪后,Claude Code 本身的安装就一条命令的事。真正需要配置的是模型接入部分——这里用 TaoToken 做统一 Key 管理,一个 Key 走通对话和编码场景。
4.1 全局安装 Claude Code
在 Git Bash(Windows)或终端(macOS)里执行:
npm install -g @anthropic-ai/claude-code装完验证:
claude -v能打印版本号就说明安装成功。如果报「permission denied」,macOS 上别用 sudo,而是配置 npm 全局目录到用户目录:
npm config set prefix ~/.npm-global export PATH=~/.npm-global/bin:$PATH然后重装。Windows 上如果报权限错,用管理员身份开 Git Bash 重装。
4.2 配置 settings.json 骨架
Claude Code 读取配置的位置在用户目录下的.claude/settings.json。先建目录再写文件:
mkdir -p ~/.claude然后创建~/.claude/settings.json,骨架如下:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "你的TaoToken Key" }, "permissions": { "allow": [], "deny": [] } }ANTHROPIC_BASE_URL指向 TaoToken 的 API 地址,ANTHROPIC_API_KEY填你在 TaoToken 控制台生成的 Key。这样 Claude Code 的所有请求都会走 TaoToken,不用改代码。
4.3 获取并填入 TaoToken Key
打开 TaoToken 控制台,在 API Keys 页面创建一个新 Key,复制下来填进上面的settings.json。如果你还没账号,可以先注册再建 Key。Key 只显示一次,记得存好。
填完后保存文件。注意 JSON 格式不能有尾逗号,否则 Claude Code 启动时会静默失败,只报一个模糊的配置错误。
4.4 环境变量方式(可选)
如果你不想写 settings.json,也可以在 shell 里导出环境变量:
export ANTHROPIC_BASE_URL="https://taotoken.net/api" export ANTHROPIC_API_KEY="你的TaoToken Key"但这种方式每次开新终端都要重设,写进~/.zshrc或~/.bashrc才能持久。相比之下 settings.json 更省心,推荐优先用文件配置。
5. 验证请求:确认 Claude Code 真的通了
配置写完不代表通了,得实际发一条请求验证。这一步能同时验证 Node、Git Bash、TaoToken Key 三条链路。
5.1 启动 Claude Code
在任意项目目录下敲:
claude首次启动会进一个 TUI 界面,让你选主题和偏好。选完后进入对话。如果直接报连接错误,先检查settings.json里的ANTHROPIC_BASE_URL有没有写错,注意是https://taotoken.net/api,结尾不要多加斜杠。
5.2 发一条测试请求
在 Claude Code 对话框里输入:
帮我看看当前目录下有哪些文件如果它能调用 shell 并返回文件列表,说明 Git Bash 链路通了。如果它返回一段模型生成的文字但没有执行命令,说明模型接入通了但工具调用没触发,可以再明确说「用 bash 执行 ls」。
5.3 用 curl 单独验证 Key
如果 Claude Code 里报鉴权错误,可以先用 curl 单独测 TaoToken 的 Key 是否有效:
curl https://taotoken.net/api/v1/messages \ -H "x-api-key: 你的TaoToken Key" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model":"claude-3-5-sonnet-20241022","max_tokens":50,"messages":[{"role":"user","content":"hi"}]}'返回一段 JSON 且包含content字段,说明 Key 和网络都正常。如果返回 401,检查 Key 有没有复制全;返回 404,检查 URL 路径。
5.4 成功标志
三个信号同时出现就算完全通了:claude -v打印版本号、claude能进 TUI、发请求能返回模型回复并执行 shell 命令。到这一步,Node 版本混乱和 Git Bash 路径不通这两个高频坑就都绕过去了。
6. 本篇常见报错排查
6.1 nvm use 报 exit status 1
Windows 上最常见,原因是没用管理员权限,或者 Node 安装目录被占用。解决:关掉所有终端和编辑器,用管理员身份开新 PowerShell,再nvm use。如果还不行,检查C:\Program Files\nodejs是不是被别的程序锁着。
6.2 claude 命令找不到
npm install -g装完了但claude敲不出来,说明 npm 全局 bin 目录没进 PATH。查一下:
npm config get prefix把这个路径下的bin(macOS/Linux)或根目录(Windows)加到 PATH。macOS 上如果是/usr/local,可能需要 sudo,建议改成用户目录方案。
6.3 Git Bash 报 bash not found
回到第 3 节,确认SHELL环境变量指向bash.exe的完整路径,并且路径里没有中文或空格问题。如果 Git 装在C:\Program Files\Git,路径里有空格是正常的,但环境变量值不要加引号。
6.4 settings.json 不生效
检查文件位置是不是~/.claude/settings.json,Windows 上~对应C:\Users\你的用户名。另外 JSON 不能有注释和尾逗号。改完文件后要重启 Claude Code,它不会热加载配置。
6.5 请求超时或连接被拒
先确认ANTHROPIC_BASE_URL写的是https://taotoken.net/api,不要带多余路径。然后用 5.3 的 curl 单独测。如果 curl 通但 Claude Code 不通,检查是不是 shell 里还有旧的ANTHROPIC_API_KEY环境变量覆盖了 settings.json,用env | grep ANTHROPIC查一下,有就 unset 掉。
7. 配好之后:统一 Key 的日常用法
Node 用 nvm 管住之后,你以后升级或降级都是一条命令的事,不会再出现版本打架。TaoToken 的统一 Key 则让你在 Claude Code、模型对话、Coding Plan 几个场景里共用一套鉴权,不用每个工具单独配一遍。如果你主要拿 Claude Code 做长期编码或 Agent 任务,可以去看看 Coding Plan 的额度方案;如果只是想先验证模型效果,模型对话页面更轻量;Key 的管理和新建都在 API Keys 页面。接入文档里有更细的参数说明,遇到本文没覆盖的报错可以去翻。整套流程走下来,最花时间的其实是第一次装 nvm 和 Git Bash,装好之后就是复制粘贴的事了。