Windows11安装Claude Code完全指南：从Node.js到代理配置

凌晨一点，我盯着PowerShell窗口里那行红色的报错信息，心想这世界上怎么会有这么多看不懂的英文错误提示。想当年装个QQ只需要一路"下一步"就能搞定，现在装个AI工具，感觉像在破解核弹密码。但转念一想，能在中国大陆用上Claude Code，这点困难算什么呢？

第一章：Node.js的温柔陷阱

打开Node.js安装包的那一刻，我以为这会是个简单的旅程。毕竟这年头，哪个软件安装不是"欢迎→同意→下一步→完成"的套路？

但当我看到"Tools for Native Modules"这个选项时，我愣住了。翻译成中文就是"原生模块工具"，听起来像是某种高科技武器的名字。💭

这个选项到底是什么？

说实话，大部分人第一次看到这个选项都会懵。它的真实身份是：

一个会自动帮你安装Python、Visual Studio构建工具、Chocolatey以及一堆Windows更新的"贴心小棉袄"

听起来很美好对吧？但问题是：

它需要大约7GB的磁盘空间

安装过程可能需要10-30分钟

期间会弹出新窗口，显示一堆像黑客帝国一样的命令行文字

那到底要不要勾选？

如果你是个正常人类（不是计算机专业毕业的那种），我建议勾选。因为将来你安装某些npm包时，它们可能包含C/C++代码，需要在你电脑上现场编译。没有这些工具，你就会看到满屏的报错，然后在百度上搜索到一百种解决方案，每一种都不管用。🤦

安装后的黑色窗口

点击"Next"后，如果你勾选了那个选项，会弹出一个黑色的PowerShell窗口，上面写着中文"请按任意键继续…"

这时候不要慌。这不是电脑中毒，也不是被黑客攻击。这只是Node.js在礼貌地询问你："我要开始装一堆东西了，你确定吗？"

按下空格键，然后去泡杯咖啡。或者像我一样，打开手机刷二十分钟短视频。

第二章：PowerShell的权力游戏

Node.js装好了，我迫不及待地打开PowerShell，输入npm -v想看看版本号。

然后电脑给了我一记响亮的耳光：

PS E:\cat99\desktop> npm -v
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1，因为在此系统上禁止运行脚本。有关详细信息，请参阅 https:/go.microsof
t.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ npm -v
+ ~~~
+ CategoryInfo : SecurityError: (:) []，PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess

这是什么鬼？🤨

Windows的过度保护

原来Windows的PowerShell有个叫"执行策略"的东西，默认设置是不让你运行任何脚本。这就像你买了把菜刀，但厂家担心你用它做坏事，所以出厂时就把刀刃磨钝了。

解决方法有三种：

方法 | 适用场景 | 持久性 | 难度
修改执行策略 | 经常用PowerShell | 永久有效 | ⭐⭐
使用CMD | 偶尔用npm | 不需要设置 | ⭐
临时绕过 | 单次使用 | 关闭窗口失效 | ⭐⭐

我的选择是第一种，因为我不想每次都重复这个过程：

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

以管理员身份运行PowerShell，输入这行命令，按Y确认。从此以后，你的PowerShell就不再是个胆小鬼了。💪

那条烦人的npm更新提示

当你终于成功运行npm -v后，可能会看到：

npm notice New major version of npm available! 10.9.3 -> 11.6.1

每次看到这个提示，我都想问：这到底是在提醒我还是在催促我？

真相是：你完全可以无视它。npm 10.9.3和11.6.1的区别，对于普通用户来说，就像可乐和百事可乐的区别——都能喝，味道差不多，选哪个都行。

当然，如果你是个追求完美的人，可以运行：

npm install -g npm@11.6.1

然后等待几分钟，让npm把自己升级一遍。这个过程就像给跑车换机油，换不换都能开，但换了心里踏实。🚗

第三章：Claude Code与中国大陆的距离

安装Claude Code本身很简单：

npm install -g @anthropic-ai/claude-code

8秒钟，2个包，搞定。我看着屏幕上的成功提示，心想这也太容易了吧？

然后我输入claude，按下回车。

屏幕上出现了那只可爱的像素小动物，还有星星点点的ASCII艺术。我还没来得及欣赏，就看到了红色的错误信息：

Unable to connect to Anthropic services
Failed to connect to api.anthropic.com: ERR_BAD_REQUEST

墙的问题

在中国大陆使用国外服务，永远绕不开这个话题。Claude的API服务器在美国，而我们和美国之间，隔着一堵看不见的墙。

不是技术问题，是物理距离+网络政策的问题。

所以，你需要一个代理。VPN、V2Ray、Xray、Clash、Shadowsocks——名字一个比一个玄幻，但本质都是同一件事：帮你绕过那堵墙。🧱➡️🚪

找到你的代理端口

我用的是v2rayN，一个Windows上常见的代理工具。大部分人电脑上应该都有类似的软件，不然你现在也看不到这篇文章。

关键是找到本地代理端口。这个端口通常是：

HTTP代理：10809

SOCKS代理：10808

混合模式（Mixed）：10808

打开v2rayN的主界面，看底部状态栏。我的显示是：

本地:[mixed:10808]

这就是我的代理端口：10808

设置环境变量

在PowerShell中输入：

$env:HTTP_PROXY="http://127.0.0.1:10808"
$env:HTTPS_PROXY="http://127.0.0.1:10808"

注意几个关键点：

必须是http://协议，不是socks5://

IP地址是127.0.0.1，这是本地回环地址

端口号要对，不要瞎猜

我第一次就栽在了第一点上。我以为SOCKS代理就该用socks5://，结果Claude Code直接给我报错：

Invalid URL protocol: the URL must start with 'http:' or 'https:'

后来我才明白，Claude Code的HTTP客户端只认HTTP协议。虽然v2rayN的10808端口是"mixed"模式，同时支持HTTP和SOCKS，但你访问它时必须用HTTP协议。

就像一个会说中英双语的人，你得先说中文他才知道你要用中文交流。🗣️

验证代理是否工作

设置完代理后，先别急着运行claude。测试一下代理是否真的工作：

curl https://www.google.com

如果看到一堆HTML代码，恭喜你，代理成功了。

如果看到错误信息，那可能是：

代理软件没运行

端口号不对

代理服务器没连接成功

这时候需要回到v2rayN，检查：

托盘图标是否存在？

图标是彩色的还是灰色的？（彩色表示已连接）

底部日志是否显示连接成功？

延迟是否正常？（我的是223ms）

再次尝试

确认代理工作后，输入：

claude

这次，屏幕上不再是错误信息，而是欢迎界面：

Welcome to Claude Code v2.0.5

那只橙色的像素小章鱼向我眨了眨眼睛（虽然它没有眼睛），仿佛在说："小伙子，你可算来了。"🐙

第四章：登录与选择

Claude Code启动后，会问你要用哪种方式登录：

Claude account with subscription（Claude订阅账号）

Anthropic Console account（API账号）

这是个重要的选择题。

订阅账号 vs API账号

Claude订阅账号适合：

你已经在claude.ai购买了Pro、Max或Team订阅

你不想按使用量付费

你只是想在命令行里用Claude

API账号适合：

你没有Claude订阅

你愿意按API调用次数付费

你需要更精确的使用控制

两种方式的计费差异：

方式 | 费用模式 | 每月成本 | 使用限制
订阅账号 | 固定月费 | $20-100+ | 有消息条数限制
API账号 | 按token计费 | 看使用量 | 无条数限制

如果你只是想尝鲜，或者已经有Claude Pro订阅，选第一个。

如果你是开发者，需要大量调用，可能API更划算——前提是你能控制住使用量，不然账单可能比订阅费还高。💸

关于代理设置的持久性

有人问我：这样设置代理后，是不是我的PowerShell以后都会用代理？

答案是：不会。

$env:方式设置的环境变量只在当前窗口有效。你关闭PowerShell窗口，设置就消失了。

这既是好事也是坏事：

好处：

不影响其他程序

不会不小心让所有流量都走代理

想取消代理时直接关窗口就行

坏处：

每次用Claude Code都要重新设置

如果忘记设置就会连接失败

如果你经常用Claude Code，可以把这两行命令保存成一个.ps1脚本文件，每次双击运行就行。或者更简单点，写个批处理文件：

@echo off
powershell -Command "$env:HTTP_PROXY='http://127.0.0.1:10808'; $env:HTTPS_PROXY='http://127.0.0.1:10808'; claude"

保存为claude.bat，以后直接运行这个文件就行了。

第五章：写在最后的一些思考

从开始安装Node.js到最终启动Claude Code，整个过程花了我两个小时。

两个小时，大部分时间都花在Google各种报错信息上。有些错误提示看起来很专业，实际上就是"你没联网"或者"端口号不对"的花哨说法。

但我还是觉得值得。

因为这个过程让我重新理解了一些东西：

关于工具：好的工具应该降低使用门槛，而不是设置更多障碍。Node.js的安装程序已经比几年前进步太多了，至少它会问你要不要装那些编译工具，而不是让你遇到问题时自己去stackoverflow找答案。

关于代理：在2025年的中国，使用代理已经成为一种基本技能。不是因为我们想干什么坏事，只是想正常使用互联网上的工具和服务。这种现状多少有点荒诞，但我们也只能接受。🌐

关于AI工具：Claude Code这类命令行AI工具代表了一个趋势——AI不再只是网页上的聊天窗口，它开始进入开发者的日常工作流程。未来可能我们写代码时，旁边一直有个AI助手在帮忙，就像现在我们写文档时旁边开着词典一样自然。

关于折腾：有人可能觉得这些步骤太复杂了，为什么不用简单点的工具？但我觉得，正是这种"折腾"让我们保持学习的状态。你每解决一个技术问题，就多掌握了一个技能。下次遇到类似问题时，你会知道从哪里下手。

现在，当我在命令行里输入claude，看到那个欢迎界面时，我会觉得这两个小时的折腾都是值得的。

不是因为Claude Code有多么强大，而是因为我又征服了一个技术小难题。

这种感觉，大概就是程序员的简单快乐吧。😊

最后的最后，如果你按照这篇文章的步骤，成功装上了Claude Code，记得关掉v2rayN的全局代理模式，只在需要时手动设置环境变量。

毕竟我们都不想让所有流量都走代理，那样既浪费流量，也会让某些国内服务变慢。

做个聪明的用户，知道什么时候需要梯子，什么时候不需要。

祝你和AI相处愉快。🤖