ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Claude安装全流程:用winget与PowerShell在Windows上快速部署TaoToken

Claude安装全流程:用winget与PowerShell在Windows上快速部署TaoToken 1. Windows 上装 Claude Code 到底卡在哪cmd 与 PowerShell 的环境差异很多人第一次在 Windows 上装 Claude Code卡住的地方根本不是安装本身而是装完之后「命令找不到」或者「配置写不进去」。我见过太多人把winget install Anthropic.ClaudeCode敲进 cmd结果提示winget 不是内部或外部命令也见过在 PowerShell 里装成功了切回 cmd 跑claude却报claude 不是内部或外部命令也不是可运行的程序。这些问题的根子是 Windows 上 cmd 和 PowerShell 两套 shell 对 PATH、环境变量、配置文件路径的处理方式不一样。Claude Code 是一个跑在终端里的 AI 编码助手它能读你的项目文件、执行命令、改代码适合习惯命令行工作流的开发者。它本身通过 npm 或 winget 分发安装后会在用户目录下生成.claude.json这类配置文件。问题在于winget 安装的包PATH 写入的是「用户级环境变量」而 cmd 和 PowerShell 读取环境变量的时机、刷新机制不同。cmd 启动时读一次之后不刷新PowerShell 每次新开窗口会重新读。所以你在 PowerShell 里装完当前窗口能用但已经开着的 cmd 窗口还是旧 PATH自然找不到命令。另一个高频坑是配置文件路径。Claude Code 首次运行会引导你完成 onboarding把状态写进%USERPROFILE%\.claude.json。如果你在 PowerShell 里跑过一次引导又在 cmd 里跑两边对%USERPROFILE%的展开可能因为引号转义不同而写到不同位置导致「明明配置过了还是让我重新配置」。这就是为什么网上流传那段用powershell -Command直接改 JSON 的指令——它绕过了交互式引导直接把hasCompletedOnboarding置为 true。这一篇我会把整个流程拆成可复制的步骤先用 winget 装再用 PowerShell 配环境变量然后验证最后把常见的 401、local proxy failed、reading choices这类报错逐个排掉。你跟着敲就行不需要提前懂 PowerShell 脚本。核心检索词就三个Claude 安装、winget、PowerShell 环境变量配置下面每一步都围绕它们展开。2. 装之前先把 TaoToken 的接入信息准备好Claude Code 本身只是个客户端它需要一个能响应 Anthropic 兼容协议的服务端。你可以把它理解成Claude Code 是「电话机」TaoToken 是「电话线另一头的接线员」负责把你的请求转给模型并把结果送回来。所以安装之前先把接入信息拿到手后面配置才不会来回改。你需要准备三样东西Base URL、API Key、Model ID。这三件套是任何 Anthropic 兼容客户端的通用配置项缺一不可。Base URL 填https://taotoken.net/api注意这里不带任何查询参数就是干净的 API 根地址。API Key 需要你去控制台生成路径是登录后进「API Keys」页面新建一个复制那串以sk-开头的字符串只显示一次丢了就重新建。Model ID 填你实际要用的模型标识比如claude-sonnet-4-20250514这类具体以文档里列的为准。获取入口我列一下方便你直接点模型对话体验https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaude_wingetCoding Plan长期编码/Agent 场景更划算https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaude_winget控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaude_wingetAPI Keys 管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaude_winget接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaude_winget提示API Key 不要写进会提交到 Git 的文件里。后面配置时我们用环境变量存而不是硬编码进脚本。为什么强调「先拿 Key 再装」因为 Claude Code 装完第一次运行就会问你要认证方式。如果你选 API Key 模式它会读环境变量ANTHROPIC_API_KEY和ANTHROPIC_BASE_URL。如果你这时候还没准备好就得中断安装流程去弄容易把 onboarding 状态搞乱反而触发前面说的「反复要求配置」。所以顺序是先拿三件套再装客户端最后一次性配好。还有一点TaoToken 的 Coding Plan 适合那种每天都要用 Claude Code 写代码、跑 Agent 的场景按量计费之外它有个更稳定的额度方案。如果你只是偶尔试试先用 API Key 按量走就行不用一上来就买套餐。这个判断你自己做我不替你决定。3. 用 winget 装 Claude Code 并配好 PowerShell 环境变量这一节是核心操作区所有命令都可以直接复制。我按「装 → 配 → 写配置」三步走每步都说明在哪个 shell 里执行。3.1 winget 安装命令先确认你的 winget 可用。打开 PowerShell不是 cmd敲winget --version如果返回类似v1.6.xxxx的版本号说明可用。如果提示找不到去 Microsoft Store 搜「应用安装程序」更新一下。确认可用后执行安装winget install Anthropic.ClaudeCode这条命令会从 winget 源拉取 Claude Code 包并安装。装完后关掉当前 PowerShell 窗口重新开一个。这一步不能省因为 PATH 是安装时写入用户环境变量的已开的窗口读不到新值。新窗口里验证claude --version能打印版本号就说明命令已进 PATH。如果还是找不到手动刷新环境变量$env:Path [System.Environment]::GetEnvironmentVariable(Path,User) ; [System.Environment]::GetEnvironmentVariable(Path,Machine)这行把用户级和机器级 PATH 拼起来重新赋给当前会话不用重启窗口。3.2 PowerShell 环境变量配置脚本接下来配三件套。在 PowerShell 里执行下面这段把占位符换成你自己的值# 设置 TaoToken 接入信息当前会话 永久用户级 $baseUrl https://taotoken.net/api $apiKey sk-你的实际Key $modelId claude-sonnet-4-20250514 # 写入用户级环境变量永久生效 [System.Environment]::SetEnvironmentVariable(ANTHROPIC_BASE_URL, $baseUrl, User) [System.Environment]::SetEnvironmentVariable(ANTHROPIC_API_KEY, $apiKey, User) [System.Environment]::SetEnvironmentVariable(ANTHROPIC_MODEL, $modelId, User) # 同步到当前会话免重开窗口 $env:ANTHROPIC_BASE_URL $baseUrl $env:ANTHROPIC_API_KEY $apiKey $env:ANTHROPIC_MODEL $modelId Write-Host 环境变量已配置完成SetEnvironmentVariable第三个参数User表示写到当前用户的环境变量不需要管理员权限也不会污染系统级配置。执行完可以用echo $env:ANTHROPIC_BASE_URL确认当前会话已生效。3.3 写 settings 配置文件Claude Code 除了读环境变量也支持项目级或用户级的 settings 文件。用户级配置放在%USERPROFILE%\.claude\settings.json。用 PowerShell 创建$settingsDir $env:USERPROFILE\.claude if (-not (Test-Path $settingsDir)) { New-Item -ItemType Directory -Path $settingsDir | Out-Null } $settings { env { ANTHROPIC_BASE_URL https://taotoken.net/api ANTHROPIC_API_KEY sk-你的实际Key ANTHROPIC_MODEL claude-sonnet-4-20250514 } } | ConvertTo-Json -Depth 5 Set-Content -Path $settingsDir\settings.json -Value $settings -Encoding UTF8生成的settings.json长这样{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的实际Key, ANTHROPIC_MODEL: claude-sonnet-4-20250514 } }注意环境变量和 settings.json 同时存在时settings.json 里的env会覆盖同名环境变量。建议二选一别两边都写不同值否则排查起来很痛苦。3.4 处理 cmd 与 PowerShell 的差异如果你习惯用 cmd注意 cmd 里设置环境变量的语法完全不同setx ANTHROPIC_BASE_URL https://taotoken.net/api setx ANTHROPIC_API_KEY sk-你的实际Key setx ANTHROPIC_MODEL claude-sonnet-4-20250514setx写的是永久用户变量但当前 cmd 窗口不生效必须重开。而且setx有 1024 字符长度限制Key 太长可能被截断。所以我的建议是配置阶段统一用 PowerShell跑 Claude Code 时 cmd 和 PowerShell 都行因为命令本身读的是环境变量跟你在哪个 shell 里跑没关系。如果你在 cmd 里遇到 onboarding 反复出现可以用这段就是 excerpt 里那个思路我把它讲清楚powershell -Command $f%USERPROFILE%\.claude.json;$jGet-Content $f|ConvertFrom-Json;$j|Add-Member -NotePropertyName hasCompletedOnboarding -NotePropertyValue $true -Force;$j|ConvertTo-Json|Set-Content $f它做的事是读.claude.json加一个hasCompletedOnboarding: true字段再写回去。这样下次启动就不会再走引导。但前提是文件已存在如果不存在会报错先跑一次claude让它生成。4. 验证请求是否真的通了配完不代表通了得实际发一次请求。最直接的方式是启动 Claude Code 交互模式claude如果配置正确它会进入对话界面你输入一句「你好帮我看看当前目录有哪些文件」它应该能响应并调用工具。如果卡在认证或报错往下看第 5 节。更轻量的验证是直接用 curl 打一次 API确认 Base URL 和 Key 有效$headers { x-api-key $env:ANTHROPIC_API_KEY anthropic-version 2023-06-01 content-type application/json } $body { model $env:ANTHROPIC_MODEL max_tokens 64 messages ({ role user; content ping }) } | ConvertTo-Json -Depth 5 Invoke-RestMethod -Uri $env:ANTHROPIC_BASE_URL/v1/messages -Method Post -Headers $headers -Body $body返回里带content数组和一段文本就说明链路通了。这一步能帮你区分「是客户端配置问题」还是「是 Key/网络问题」——如果 curl 通但claude不通问题在客户端配置如果 curl 也不通问题在 Key 或 Base URL。成功的结果长这样截取关键字段{ id: msg_01xxxx, type: message, role: assistant, content: [ { type: text, text: pong } ], model: claude-sonnet-4-20250514, stop_reason: end_turn }看到content里有文本、stop_reason是end_turn就稳了。这时候再回 Claude Code 里跑基本不会有认证问题。5. 常见报错逐个排401、local proxy failed、reading choices、OAuth这一节按真实报错来你对着自己的错误信息找。401 Unauthorized / authentication_errorKey 无效或没读到。先echo $env:ANTHROPIC_API_KEY看当前会话有没有值。如果为空说明环境变量没同步到当前窗口重开 PowerShell 或手动$env:ANTHROPIC_API_KEY sk-...。如果值对但还 401检查 Key 是否被复制时带了空格或换行重新从 API Keys 页面复制一次。还有一种情况是 Key 被禁用或额度耗尽去控制台看状态。local proxy failed / connection refused客户端连不上 Base URL。检查ANTHROPIC_BASE_URL是不是写成了https://taotoken.net/api/末尾多斜杠有时会导致路径拼接错误标准写法是https://taotoken.net/api。再确认本机网络能访问该域名用Test-NetConnection taotoken.net -Port 443看端口通不通。如果公司网络有出口限制这条会失败需要找网管放行。reading choices / unexpected response shape客户端收到的响应结构不符合预期。常见原因是 Base URL 指错了比如指到了网页地址而不是 API 地址返回的是 HTML 而不是 JSON。确认 Base URL 是https://taotoken.net/api请求路径是/v1/messages。另外检查 Model ID 是否拼写正确模型名错了有时服务端会返回错误结构。OAuth / 反复要求登录Claude Code 默认可能走 OAuth 引导但用 API Key 模式不需要。如果它一直弹登录说明它没读到ANTHROPIC_API_KEY。确认环境变量或 settings.json 里配了 Key然后删掉%USERPROFILE%\.claude.json重新跑一次让它以 API Key 模式初始化。或者用第 3.4 节那段命令直接把hasCompletedOnboarding置 true。claude 不是内部或外部命令PATH 没刷新。重开窗口或执行 3.1 节那段 PATH 刷新命令。如果还不行找到 winget 装的实际路径一般在%LOCALAPPDATA%\Microsoft\WinGet\Packages\下手动加进 PATH。cmd 里配置不生效cmd 用setx后必须重开窗口且setx有长度限制。建议配置统一在 PowerShell 做cmd 只用来跑命令。排查顺序建议先 curl 验证 Key 和 Base URL再验证客户端读到的环境变量最后看客户端日志。Claude Code 可以用claude --debug启动会打印详细请求日志定位问题最快。6. 把接入信息固化下来长期用更省心装一次配一次下次换机器又得重来。我的做法是把三件套写进一个 PowerShell profile 脚本或者干脆用 settings.json 固化。如果你经常重装环境可以把 3.3 节那段生成 settings.json 的脚本存成setup-claude.ps1新机器上跑一遍就行。对于每天都要用 Claude Code 写代码、跑 Agent 的场景TaoToken 的 Coding Plan 比按量计费更稳额度可预期不会因为某天请求多就超支。你可以先去模型对话页试试手感确认模型响应符合预期再决定要不要上 Coding Plan。接入文档里有完整的参数说明和示例遇到本文没覆盖的报错去文档里搜错误码通常能找到对应解释。最后留个实用习惯每次改完环境变量或 settings.json先跑一次第 4 节的 curl 验证再启动claude。这样能把「配置问题」和「客户端问题」分开省掉大量来回试的时间。配置这东西一次配对后面就是纯写代码了。
返回列表