资讯动态

Windows下安装Claude Code完整攻略:从踩坑到成功

发布时间:2026/10/18 18:35:45 来源:尧图企业网站定制
1. Windows 原生与 WSL 两条路到底该选哪条Claude Code 是 Anthropic 官方推出的终端 AI 编程助手能在命令行里直接读写项目文件、跑 Git 操作、做代码审查和重构。它本身是个 Node.js 包理论上只要有 Node 环境就能跑但官方长期把 Windows 原生支持放在次要位置很多老教程直接告诉你「Windows 装不了必须上 WSL」。这个说法在 2024 年基本成立到了现在其实已经松动Claude Code 在 Windows 原生 PowerShell 里也能装能跑只是路径处理、权限、终端交互上坑更多。所以这篇不站队两条路都给你走一遍。你如果是纯 Windows 用户、不想碰 Linux 子系统走原生路线如果你本来就熟悉 Linux 命令、或者项目里有 shell 脚本依赖走 WSL 路线更省心。两条路的共同前置是 Node.js 18 以上实测建议 20 LTS 或 22 LTSnpm 全局安装权限要理顺网络出口要稳定。先说清楚适合谁前端、后端、全栈开发者日常在终端里干活、用 Git 管代码的人最合适。如果你只是偶尔想让 AI 帮你写个函数网页版对话就够了没必要折腾命令行。但如果你想要「AI 直接改我项目里的文件、跑测试、提交 commit」这种深度集成Claude Code 值得花半小时装好。我试过在 Windows 11 原生环境和 WSL2 Ubuntu 22.04 上各装一遍原生路线踩的坑集中在 npm 全局路径和 PowerShell 执行策略WSL 路线踩的坑集中在路径映射和网络模式。下面按「先检查环境 → 再装 → 再验证 → 再排错」的顺序展开命令都可以直接复制。核心检索词先明确Windows 下安装 Claude Code本质是解决三件事——Node.js 版本对不对、npm 全局装到哪、终端能不能正常调用claude命令。把这三件事拆开看每条路都不复杂。2. 装之前先把 Node.js 和 npm 权限理清楚不管你走哪条路Node.js 环境是地基。很多人装 Claude Code 失败根子不在 Claude Code而在 Node 版本太老或者 npm 全局目录没权限。先检查你现在的版本。打开 PowerShell原生路线或 WSL 终端WSL 路线输入node --version npm --version如果node命令直接报「不是内部或外部命令」说明 Node 根本没装或者没进 PATH。如果版本低于 18比如 v16.x那 Claude Code 装上了也可能跑不起来因为它的依赖用到了较新的语法和 API。Windows 原生路线推荐用 nvm-windows 管理 Node 版本比直接下安装包灵活。去 nvm-windows 的 release 页下载nvm-setup.exe装完后在 PowerShell 里nvm install 22 nvm use 22 node --version应该输出v22.x.x。nvm-windows 的好处是切换版本不用重装坏处是它和 WSL 里的 nvm 是两套东西别搞混。WSL 路线用官方的 nvm 脚本curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install --lts nvm use --lts node --version这里有个高频坑curl拉脚本时如果网络不稳会卡住或拉到空文件。可以先curl -I看下响应头确认能通再执行安装。装完nvm后一定要source ~/.bashrc否则当前终端认不到nvm命令。接下来是 npm 全局安装权限。Windows 原生下如果你直接npm install -g默认会装到%APPDATA%\npm这个目录一般有写权限问题不大。但如果你之前改过 npm prefix 到C:\Program Files\nodejs就会遇到 EPERM 或 EACCES 权限错误。检查一下npm config get prefix如果输出是C:\Program Files\nodejs建议改回用户目录npm config set prefix $env:APPDATA\npm然后把%APPDATA%\npm加进 PATH。这一步不做后面claude命令会「装了但找不到」。WSL 下 npm 全局目录默认在~/.nvm/versions/node/vXX/bin跟着 nvm 走一般不需要额外配权限。如果你用sudo npm install -g反而会把文件装到 root 目录导致普通用户调不到这是另一个常见坑记住别加 sudo。网络出口这块Claude Code 安装和运行都要访问 npm registry 和 Anthropic 的接口。如果你所在网络访问 npm 慢可以换国内镜像源加速安装npm config set registry https://registry.npmmirror.com注意这只影响 npm 包下载不影响 Claude Code 运行时调用的模型接口。运行时的接口连通性要单独验证后面第 4 节会讲。环境理清后两条路的安装命令其实都很短难的是排错。下一节给你可直接复制的配置片段。3. 两条路线的可复制配置与安装命令这一节是全文最干的部分原生和 WSL 分开写你按自己的路线抄。3.1 Windows 原生路线先确认 PowerShell 执行策略不会拦你。以管理员身份打开 PowerShell执行Set-ExecutionPolicy -Scope CurrentUser RemoteSigned然后安装 Claude Codenpm install -g anthropic-ai/claude-code claude --version如果claude --version能输出版本号安装就成功了。原生路线下 Claude Code 的配置文件在用户目录路径是C:\Users\你的用户名\.claude\里面会有settings.json。如果你要接第三方兼容端点比如通过 TaoToken 这类聚合服务统一管理 Key可以在这个文件里配环境变量或者直接在 PowerShell 里设$env:ANTHROPIC_BASE_URLhttps://taotoken.net/api $env:ANTHROPIC_API_KEY你的Key注意ANTHROPIC_BASE_URL后面不要带/v1SDK 会自己拼。这个写法只对当前终端会话生效想持久化就写进系统环境变量或者.claude/settings.json。3.2 WSL 路线WSL 路线先确认 WSL2 装好wsl --list --verbose如果列表为空装一个 Ubuntuwsl --install -d Ubuntu wsl --set-default Ubuntu进 WSL 后Node 环境按第 2 节装好然后npm install -g anthropic-ai/claude-code claude --versionWSL 下的配置文件在~/.claude/settings.json。这个文件是 JSON 格式可以写模型和端点配置。一个可用的片段长这样{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的Key } }如果你用 Claude Code 的 coding plan 模式做长期编码任务Key 和端点建议统一在控制台里管理避免散落在多个配置文件里。控制台地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite Key 在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 生成。WSL 路线有个路径映射的坑必须提前说。你在 WSL 里访问 Windows 的 C 盘是/mnt/c/访问 D 盘是/mnt/d/。如果你项目放在D:\code\myapp在 WSL 里就是/mnt/d/code/myapp。Claude Code 在 WSL 里跑的时候工作目录必须是 WSL 能识别的路径直接cd /mnt/d/code/myapp再启动claude就行。反过来如果你在 Windows 原生 PowerShell 里跑路径就是D:\code\myapp别混用。还有一点WSL 里跑 Claude Code 读写/mnt/c下的文件比读写 WSL 原生文件系统~/下慢不少因为跨了文件系统边界。如果项目不大无所谓如果项目有几万个文件建议把代码放在 WSL 的~/projects/下用 Git 同步体验会好很多。配置写完后两条路都要做一次连通性验证下一节讲怎么验证。4. 验证请求从 claude --version 到真实对话装完不等于能用。claude --version只证明二进制装上了不证明能连上模型。真正的验证分三步命令可用、配置生效、对话成功。第一步命令可用claude --version输出类似1.0.x就对了。如果报 command not found回第 2 节检查 PATH 和 npm prefix。第二步配置生效。在终端里跑claude config list或者直接进交互模式后输入/config看当前生效的 Base URL 和模型。如果你配了ANTHROPIC_BASE_URL这里应该能看到。看不到说明环境变量没被读到检查是不是写在了错误的 shell 配置文件里比如 WSL 下写进了.zshrc但你用的是 bash。第三步真实对话。进项目目录启动cd /mnt/d/code/myapp claude首次启动会让你选认证方式。如果你用的是 API Key 模式选对应选项后粘贴 Key。如果配置里已经写了ANTHROPIC_API_KEY一般会直接跳过。进去后输入一句简单的话测试帮我看看当前目录下有哪些文件并总结这个项目的技术栈如果 Claude 能列出文件并给出合理总结说明整条链路通了。这一步能成功意味着 Node 环境、npm 安装、网络出口、Key 认证全部正常。如果你想先单独验证模型接口通不通不经过 Claude Code可以用 curl 直接打curl https://taotoken.net/api/v1/messages \ -H x-api-key: 你的Key \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d {model:claude-sonnet-4-20250514,max_tokens:64,messages:[{role:user,content:说一句你好}]}返回里有content字段和文本就说明接口层没问题。这个 curl 的好处是把 Claude Code 这层剥掉直接定位是网络问题还是工具问题。如果 curl 通但 Claude Code 不通问题在 Claude Code 配置如果 curl 也不通问题在网络或 Key。想快速在网页里对比不同模型的返回效果可以用模型对话页 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 不用装任何东西就能验证 Key 是否有效。验证通过后日常使用就是cd到项目目录、claude、然后对话。常用命令有/init生成项目说明文件、/cost看用量、/clear清上下文。这些在交互模式里输入/help都能看到。5. 高频报错逐个拆401、proxy failed、reading choices这一节按真实报错来你遇到哪个查哪个。报错一401 Unauthorized 或 authentication_error这是最常见的。原因通常是 Key 无效、Key 过期、或者 Base URL 和 Key 不匹配。先确认你 curl 直连能不能通用第 4 节的命令。如果 curl 也 401去控制台重新生成 Key。如果 curl 通但 Claude Code 401检查settings.json里的 Key 有没有多余空格或换行JSON 里字符串不能有换行。还有一种情况是你同时设了环境变量和配置文件两者冲突以环境变量优先把其中一个清掉。报错二local proxy failed 或 connection refused这个报错说明 Claude Code 尝试走本地代理但连不上。如果你没配代理检查环境变量里有没有残留的HTTP_PROXY、HTTPS_PROXY。清掉unset HTTP_PROXY unset HTTPS_PROXY unset http_proxy unset https_proxy如果你确实需要走代理确认代理地址和端口对并且代理进程在跑。WSL 下访问 Windows 主机的代理地址要用 Windows 主机 IP不是127.0.0.1因为 WSL2 是独立网络命名空间。可以在 WSL 里跑cat /etc/resolv.conf看 nameserver那个 IP 通常就是 Windows 主机。报错三reading choices 或 undefined is not an object这个报错一般出现在你用了 OpenAI 兼容格式的端点但 Claude Code 期望的是 Anthropic 原生格式。Claude Code 调的是/v1/messages不是/v1/chat/completions。如果你接的聚合服务同时支持两种格式确认 Base URL 指向的是 Anthropic 兼容入口。TaoToken 的 API 入口是 https://taotoken.net/api 它同时提供 Anthropic 和 OpenAI 兼容路径Claude Code 要用 Anthropic 那条。报错四OAuth 相关报错或登录循环如果你选的是订阅账号登录而不是 API Key可能会遇到 OAuth 回调失败。这种多半是浏览器和终端不在同一环境导致的比如 WSL 里启动登录但浏览器在 Windows 打开回调地址对不上。解决办法是改用 API Key 模式或者手动复制终端里给出的 URL 到浏览器完成授权后再把 code 粘回终端。报错五npm install 卡住或 ETIMEDOUT换镜像源npm config set registry https://registry.npmmirror.com npm cache clean --force npm install -g anthropic-ai/claude-code如果还卡检查 DNS。WSL 下有时 DNS 解析会抽风可以在/etc/resolv.conf里手动指定nameserver 8.8.8.8但注意 WSL 重启后这个文件会被覆盖要持久化得改/etc/wsl.conf。报错六claude 命令找不到但 npm list -g 显示装了这是 PATH 问题。Windows 原生下检查%APPDATA%\npm在不在 PATH 里。WSL 下检查~/.nvm/versions/node/vXX/bin在不在 PATH 里echo $PATH看一眼。不在就加到.bashrcexport PATH$HOME/.nvm/versions/node/v22.0.0/bin:$PATH版本号换成你实际的。排错的核心思路是分层先确认 Node 和 npm 正常再确认包装上了再确认命令能找到再确认配置读到了最后确认网络通。每一层用对应命令验证别跳步。6. 装好之后怎么用起来从 /init 到日常编码安装只是起点真正提升效率的是把 Claude Code 融进日常工作流。装好后第一件事是在项目根目录跑/init它会扫描项目结构生成一个CLAUDE.md里面记录技术栈、目录约定、常用命令。之后每次启动 Claude Code 都会读这个文件理解项目更快回答更准。日常高频操作有这么几类。代码审查直接说「审查 src 下最近改动的文件指出潜在 bug」生成测试说「为 utils 下的函数补 Jest 测试」重构说「把这个组件的 class 写法改成 hooks」。Claude Code 会直接改文件改完你用git diff看变更不满意就git checkout回滚。成本控制方面/cost随时看当前会话花了多少。长会话上下文会越来越长费用也涨建议一个任务做完就/clear开新的。大项目里 Claude Code 读文件会消耗 token可以先用/init把关键信息固化到CLAUDE.md减少重复扫描。如果你要做长期的、多轮的编码任务比如持续几天的重构用 coding plan 模式更划算入口在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。它适合 Agent 式的连续任务不用每次重新交代背景。最后给个实用技巧把 Claude Code 和 Git 工作流绑起来。每次让它改完代码先git diff审一遍确认没问题再git add。它生成的 commit message 质量不错可以直接用。遇到它改错了git checkout -- 文件名一键还原比手动改回去快得多。装 Claude Code 这件事难点从来不在命令本身而在环境细节。Node 版本、npm 路径、网络出口、配置文件位置这四样对齐了两条路都能十分钟装完。装完先跑/init再从小任务开始用慢慢就顺手了。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑