Claude Code 安装教程:npm、Node.js 与 PowerShell 环境变量配置指南
1. Windows 上跑 Claude Code卡住你的往往不是模型而是环境Claude Code 是 Anthropic 推出的命令行编程助手能在终端里直接读写项目文件、执行命令、跑测试适合习惯用 CLI 干活的开发者。但它在 Windows 上的安装体验和 macOS、Linux 完全不是一回事Node.js 版本不对会直接报错npm 全局目录没进 PATH 会提示claude 不是内部或外部命令PowerShell 执行策略太严会拦住脚本环境变量只写当前窗口关掉就丢。这篇就按 Windows 开发者的真实路径走一遍从 Node.js/npm 准备、PowerShell 执行策略调整到环境变量写入和settings.json骨架最后用一条真实请求验证 CLI 是否跑通。全程命令可直接复制遇到报错也有对应排查。2. 装 Claude Code 之前先把 Node.js 和 npm 理顺Claude Code 依赖 Node.js 运行官方要求 18 或更高版本。我建议别直接下 msi 安装包而是用 nvm-windows 管理版本后面切 Node 版本不用重装。2.1 用 nvm-windows 装 Node.js去 nvm-windows 的 releases 页面下载nvm-setup.exe安装时它会问两个路径nvm 自己的安装目录以及 symlink 目录默认C:\Program Files\nodejs。第二个路径就是最终node命令所在位置别改到带空格的奇怪目录。装完打开新的PowerShell旧窗口读不到新 PATH执行nvm version nvm install 20.11.1 nvm use 20.11.1 node -v npm -vnode -v返回v20.11.1、npm -v返回10.x就说明基础环境好了。如果nvm use报exit status 1多半是没以管理员身份运行 PowerShell右键「以管理员身份运行」再试一次。2.2 确认 npm 全局目录在 PATH 里这一步很多人漏掉导致装完 claude 却找不到命令。先看全局目录在哪npm config get prefix正常会返回类似C:\Users\你的用户名\AppData\Roaming\npm。把这个路径加到用户 PATH$npmPrefix npm config get prefix [Environment]::SetEnvironmentVariable(Path, $env:Path ; $npmPrefix, User)执行完关掉 PowerShell 重开echo $env:Path里能看到这个目录就对了。3. 用 npm 安装 Claude Code 并调整 PowerShell 执行策略3.1 npm 全局安装直接装官方包同时把 registry 指到国内镜像加速npm install -g anthropic-ai/claude-code --registryhttps://registry.npmmirror.com--registry参数只影响这一次安装不会改你全局 npm 配置比较干净。装完验证claude --version有版本号返回就成功了。如果提示无法将claude项识别为 cmdlet回到 2.2 检查 PATH或者用npm ls -g --depth0确认包确实装上了。3.2 PowerShell 执行策略Claude Code 在 Windows 上会调用.ps1脚本默认执行策略Restricted会直接拦下。查看当前策略Get-ExecutionPolicy -List如果CurrentUser是Undefined或Restricted改成RemoteSignedSet-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSignedRemoteSigned的意思是本地脚本随便跑从网上下载的脚本需要签名。这比Unrestricted安全也比AllSigned好用。改完用Get-ExecutionPolicy -Scope CurrentUser确认返回RemoteSigned。注意这一步只改当前用户不动系统级策略公司电脑如果被组策略锁死需要找 IT 处理别硬改机器级策略。4. 配置 API 接入与环境变量让 CLI 真正能对话Claude Code 默认连 Anthropic 官方端点国内网络环境下经常连不上或超时。这时候需要把请求指向一个兼容 Anthropic 协议的接入地址。TaoToken 提供的就是这类接入服务官网在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 。先去控制台创建 API Keyhttps://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 在 API Keys 页面生成一个 key复制备用。4.1 当前窗口临时配置在 PowerShell 里依次执行把你的Key换成真实值$env:ANTHROPIC_BASE_URLhttps://taotoken.net/api $env:ANTHROPIC_AUTH_TOKEN你的Key $env:ANTHROPIC_MODELclaude-sonnet-4-5 $env:ANTHROPIC_DEFAULT_SONNET_MODELclaude-sonnet-4-5 $env:ANTHROPIC_DEFAULT_HAIKU_MODELclaude-haiku-4-5 claude这种写法只对当前窗口生效关掉就没了适合先验证能不能通。第一次启动会让你选终端配色选 Dark mode 回车即可接着是安全提示确认后进入交互界面。4.2 永久环境变量验证通过后把变量写进用户级环境变量避免每次重设。按Win R输入sysdm.cpl进「高级 → 环境变量」在「用户变量」里新建变量名值ANTHROPIC_BASE_URLhttps://taotoken.net/apiANTHROPIC_AUTH_TOKEN你的 API KeyANTHROPIC_MODELclaude-sonnet-4-5ANTHROPIC_DEFAULT_SONNET_MODELclaude-sonnet-4-5ANTHROPIC_DEFAULT_HAIKU_MODELclaude-haiku-4-5确定后重启 PowerShell用echo $env:ANTHROPIC_BASE_URL确认能读到值。4.3 settings.json 骨架Claude Code 支持项目级配置文件在项目根目录建.claude/settings.json可以固化模型和权限策略{ model: claude-sonnet-4-5, env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_MODEL: claude-sonnet-4-5 }, permissions: { allow: [ Read, Glob, Grep ], deny: [ Bash(rm -rf:*) ] } }allow里放只读类工具deny里挡掉危险命令。API Key 不建议写进这个文件走环境变量更安全也方便团队里各人用自己的 key。5. 验证请求从启动到一次真实对话配置完别急着写代码先做三步验证。第一步确认 CLI 能启动claude --version第二步进入项目目录启动交互模式cd D:\Projects\demo claude启动后会问你是否信任当前文件夹选「Yes, I trust this folder」。这是 Claude Code 的安全机制只在你确认的目录里操作文件。第三步输入一句自然语言测试这个项目用的是什么语言帮我列出根目录的主要文件如果模型正常返回文件列表和语言判断说明接入链路通了。想单独验证模型对话是否正常也可以直接打开模型对话页面 https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 发一条消息对比两边返回是否一致。6. 本篇常见报错排查claude 不是内部或外部命令npm 全局目录没进 PATH。执行npm config get prefix拿到路径手动加到用户 PATH重开终端。无法加载文件因为在此系统上禁止运行脚本执行策略问题。Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned后重开 PowerShell。401 Unauthorized或invalid api keyANTHROPIC_AUTH_TOKEN没设对或者 key 复制时带了空格。用echo $env:ANTHROPIC_AUTH_TOKEN检查重新设置时注意别加引号外的空格。ECONNREFUSED/ 请求超时ANTHROPIC_BASE_URL写错或没生效。确认值是https://taotoken.net/api不带尾部斜杠改完重启终端。model not foundANTHROPIC_MODEL填了不存在的模型名。先用claude-sonnet-4-5这种标准名确认通了再换。装完能启动但一对话就断多半是当前窗口的环境变量和永久变量冲突关掉所有 PowerShell 重开只保留永久变量再试。如果你打算长期在终端里用 Claude Code 做编码和 Agent 任务可以了解 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API Keys 管理页在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。整套流程跑下来最容易翻车的其实是 PATH 和执行策略这两步把这两处确认好后面基本一次通。