十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

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

Claude Code 安装踩坑实录:winget 与 npm 全流程指南

Claude Code 安装踩坑实录:winget 与 npm 全流程指南 1. 为什么一个命令行工具的安装能让人折腾一下午Claude Code 这个工具最近在开发者圈子里讨论度很高它本质上是一个跑在终端里的 AI 编程助手能直接读写你本地的项目文件、执行命令、跑测试、改代码。听起来很美好但很多人卡在了第一步——装不上。我前前后后在三台机器上装过 Claude Code一台 Windows 11 台式机、一台 macOS 笔记本、还有一台 Windows 10 的老机器。三台机器遇到了三种完全不同的问题。Windows 上 winget 源连不上、npm 全局安装后命令找不到、PowerShell 执行策略拦截脚本macOS 上相对顺利但也有 Node 版本兼容的坑。这篇文章就是把这几次踩坑的完整过程记录下来包括每一步为什么这么做、报错信息怎么读、以及最终怎么解决的。如果你正在搜“Claude Code 安装教程”“winget 安装失败”“npm 不是内部或外部命令”这类问题那这篇内容应该能帮你省下不少时间。我会从最基础的环境准备讲起把 winget 和 npm 两条安装路线的完整流程、常见报错、排查思路都拆开说清楚。不管你是刚接触命令行的新手还是有一定经验但被环境问题卡住的开发者都能找到对应的解决方案。2. 安装前的环境认知你到底在装什么2.1 Claude Code 的运行形态与依赖关系很多人一上来就复制粘贴安装命令报错了才开始查。其实花两分钟搞清楚这个工具的运行形态后面能少走很多弯路。Claude Code 不是一个传统的桌面应用程序它没有图形安装向导不会在开始菜单里创建快捷方式。它的本质是一个 Node.js 命令行工具通过 npm 包的形式分发。你安装完成后在终端里输入claude命令来启动它然后它会在当前目录下读取你的项目文件和你对话帮你改代码。这就意味着两件事第一你的机器上必须有 Node.js 环境第二安装方式本质上就是 npm 全局安装一个包。那为什么还会有 winget 安装这种方式呢因为 winget 是 Windows 的包管理器它可以帮你自动处理依赖、下载安装 Node.js 和 Claude Code对不熟悉命令行的用户更友好。但 winget 的源在国内访问经常不稳定这就是很多人卡住的地方。理解了这个底层逻辑你就能明白不管用哪种方式安装最终目标都是让claude这个命令能在终端里被找到并执行。所有的报错本质上都是这个目标没有达成。2.2 Windows 和 macOS 的环境差异Windows 和 macOS 在命令行环境上的差异是导致安装体验完全不同的根本原因。macOS 自带 Unix 终端环境Node.js 的安装和管理相对统一用 Homebrew 或者官方安装包都很顺畅。npm 全局安装的包默认放在/usr/local/bin或用户目录下的.npm-global/bin这个路径通常已经在系统的 PATH 环境变量里了所以装完就能直接用。Windows 就复杂得多。首先Windows 有多个终端环境CMD、PowerShell、Windows Terminal、Git Bash每个环境的脚本执行策略和环境变量读取方式都不一样。其次npm 全局安装的包默认放在%APPDATA%\npm目录下这个路径不一定在 PATH 里。再加上 PowerShell 默认禁止执行脚本文件而 npm 在 Windows 上恰恰是通过.ps1脚本运行的这就导致了那个经典的报错“npm : 无法加载文件 npm.ps1因为在此系统上禁止运行脚本”。所以如果你在 Windows 上装 Claude Code 遇到问题大概率不是 Claude Code 本身的问题而是 Windows 命令行环境配置的问题。搞清楚这一点排查方向就明确了。2.3 安装方式的选择逻辑目前安装 Claude Code 主要有两条路winget 和 npm。选哪条路取决于你的具体情况。winget 安装适合以下场景你的 Windows 10/11 版本较新winget 可用网络能正常访问 winget 源。优点是自动化程度高一条命令搞定不用手动装 Node.js。缺点是国内网络环境下 winget 源经常连不上而且出错了不好排查。npm 安装适合以下场景你已经装了 Node.js或者愿意手动装 Node.js。优点是可控性强每一步都能看到输出出错了容易定位。缺点是需要自己处理 Node.js 环境、npm 镜像源、PATH 配置等问题。我的建议是如果你在国内网络环境下直接走 npm 安装路线把 Node.js 装好、npm 镜像源配好后面基本不会有大问题。winget 那条路看起来简单但网络问题会让你浪费更多时间。3. winget 安装路线从一条命令到一堆报错3.1 winget 安装的完整流程与前置检查winget 是 Windows 自带的包管理器在 Windows 11 和较新的 Windows 10 上默认可用。安装 Claude Code 的命令很简单winget install Anthropic.ClaudeCode但在执行这条命令之前建议先做几个检查。第一确认 winget 本身可用。在 PowerShell 里输入winget --version如果能看到版本号说明 winget 正常。如果提示“无法将 winget 项识别为 cmdlet”说明你的系统没有 winget 或者 PATH 里没有。这种情况需要先安装“应用安装程序”或者升级到较新的 Windows 版本。第二确认 winget 源可用。输入winget source list查看当前配置的源。默认情况下会有msstore和winget两个源。如果winget源显示异常可以尝试重置winget source reset --force第三检查网络。winget 默认从微软的 CDN 下载包国内访问有时候会超时。如果你在公司网络或者校园网环境下可能需要配置代理或者换用其他方式。我第一台机器上执行winget install Anthropic.ClaudeCode的时候卡在“正在搜索源”这一步很久最后报了一个网络超时的错误。这就是典型的 winget 源访问问题。3.2 winget 源连接失败的排查与替代方案winget 源连不上最直接的排查方法是看报错信息。常见的报错有几种一种是“无法连接到源”这通常是网络问题。你可以尝试在浏览器里访问https://cdn.winget.microsoft.com看看能不能打开。如果打不开说明网络确实不通。另一种是“找不到与输入条件匹配的已安装程序包”这说明 winget 源里没有找到 Claude Code 这个包。可能是源没有更新先执行winget source update更新一下源索引。如果确认是网络问题有几个替代方案。一是使用中科大等国内镜像源替换 winget 默认源。中科大的 winget 镜像地址是https://mirrors.ustc.edu.cn/winget-source配置方法如下winget source remove winget winget source add winget https://mirrors.ustc.edu.cn/winget-source配置完成后再次尝试安装。不过需要注意的是镜像源的包更新可能有延迟如果镜像源里还没有 Claude Code 的最新版本可能还是找不到。另一个方案是直接放弃 winget走 npm 安装路线。这也是我最终的选择因为 npm 的国内镜像生态更成熟问题更好解决。3.3 winget 离线安装包的获取与使用如果你所在的环境完全无法访问外网或者 winget 源怎么都连不上还有一个办法是使用 winget 的离线安装包。winget 支持通过winget download命令下载安装包到本地然后在其他机器上离线安装。但前提是你得先能访问 winget 源才能下载。如果完全访问不了可以去 GitHub 上找 Claude Code 的 release 页面下载对应的安装包。不过 Claude Code 的 npm 包本质上就是一个 JavaScript 包没有传统的.exe或.msi安装包。所以所谓的“离线安装”实际上是把 npm 包下载下来然后通过npm install -g从本地文件安装。具体做法是npm pack anthropic-ai/claude-code这会在当前目录生成一个.tgz文件然后把这个文件拷贝到目标机器上执行npm install -g ./anthropic-ai-claude-code-x.x.x.tgz这种方式适合内网环境批量部署但操作步骤比在线安装麻烦不少。4. npm 安装路线更可控但也更容易踩坑4.1 Node.js 环境准备与版本选择走 npm 路线第一步是确保 Node.js 装好。Claude Code 对 Node.js 版本有要求建议使用 Node.js 18 或更高版本。你可以在终端里输入node --version查看当前版本。如果还没装 Node.js推荐去 Node.js 官网下载 LTS 版本。Windows 用户下载.msi安装包双击安装即可。安装过程中有一个选项是“Add to PATH”默认是勾选的保持勾选就行。macOS 用户可以用 Homebrew 安装brew install node安装完成后关闭终端重新打开再次输入node --version和npm --version确认两个命令都能正常输出版本号。如果node能用但npm报错说明 npm 的 PATH 配置有问题需要手动检查环境变量。这里有一个细节Windows 上安装 Node.js 后npm 的全局包目录默认在%APPDATA%\npm这个目录需要被添加到系统的 PATH 环境变量中。较新版本的 Node.js 安装程序会自动处理但如果你是从旧版本升级或者用了绿色版可能需要手动添加。4.2 npm 国内镜像源的配置与验证Node.js 装好后下一步是配置 npm 镜像源。默认的 npm 源在国外国内访问速度很慢安装大包的时候经常超时。配置国内镜像源可以显著提升安装成功率。常用的国内镜像源有淘宝源npm config set registry https://registry.npmmirror.com配置完成后用以下命令验证npm config get registry如果输出的是你设置的镜像地址说明配置成功。然后可以尝试安装 Claude Codenpm install -g anthropic-ai/claude-code这里有一个常见的坑有些教程会让你用npm install -g claude-code但实际的包名是anthropic-ai/claude-code包名不对会报 404 错误。安装的时候注意看包名。另外安装过程中可能会看到一些警告信息比如npm warn deprecated node-domexception1.0.0: use your platforms native dome。这个警告是说某个依赖包已经废弃了建议使用平台原生的 DOM 实现。这种警告通常不影响安装和使用可以忽略。但如果警告变成了 error那就需要具体看了。4.3 全局安装后的命令找不到问题npm install -g执行完成后理论上你就可以在终端里输入claude来启动工具了。但很多人会遇到“claude 不是内部或外部命令”的报错。这个问题的根源是 npm 全局包的可执行文件目录没有在 PATH 环境变量里。你可以用以下命令查看 npm 全局包的安装位置npm config get prefixWindows 上通常输出C:\Users\你的用户名\AppData\Roaming\npmmacOS 上通常是/usr/local或/Users/你的用户名/.npm-global。这个路径下的bin目录Windows 上是根目录需要被添加到 PATH 中。Windows 上添加 PATH 的步骤右键“此电脑” - 属性 - 高级系统设置 - 环境变量 - 在“用户变量”里找到 Path - 编辑 - 新建 - 粘贴 npm 全局目录路径 - 确定。添加完成后关闭所有终端窗口重新打开再试claude命令。macOS 上如果用的是 zsh需要编辑~/.zshrc文件添加export PATH$PATH:/Users/你的用户名/.npm-global/bin然后执行source ~/.zshrc让配置生效。4.4 PowerShell 执行策略导致的 npm 报错Windows 上还有一个高频报错“npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1因为在此系统上禁止运行脚本”。这个报错和 Claude Code 无关是 PowerShell 的安全策略导致的。PowerShell 默认的执行策略是Restricted不允许执行任何脚本文件。而 npm 在 Windows 上是通过npm.ps1这个 PowerShell 脚本来运行的所以被拦截了。解决方法是以管理员身份打开 PowerShell执行Set-ExecutionPolicy RemoteSigned然后输入Y确认。RemoteSigned策略允许本地脚本执行从网络下载的脚本需要签名。这个设置对日常开发来说是安全的也是微软推荐的做法。如果你不想改全局策略也可以在当前会话中临时绕过Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass但这种方式只对当前终端窗口有效关掉就失效了。所以还是建议直接改全局策略。改完之后再执行npm --version应该就能正常输出了。这个坑我在三台 Windows 机器上都遇到过每次都是同样的报错同样的解决方法。5. 安装后的验证与初始化配置5.1 用 claude doctor 做安装自检安装完成后第一件事是运行自检命令claude doctor这个命令会检查你的安装是否完整、Node.js 版本是否满足要求、配置文件是否存在、网络连接是否正常等。如果一切正常会输出类似“All checks passed”的信息。如果有问题会给出具体的错误描述和建议的修复方法。claude doctor是我觉得这个工具做得比较好的一个地方。很多命令行工具装完就完了出问题了只能自己猜。有了这个自检命令至少能快速定位问题出在哪个环节。如果claude doctor报错说找不到命令那说明前面的 PATH 配置还有问题回到上一节检查。如果自检通过了但启动时报错那可能是配置文件或者权限的问题继续往下看。5.2 settings.json 配置文件的位置与常用参数Claude Code 的配置文件叫settings.json位置在用户目录下的.claude文件夹里。Windows 上是C:\Users\你的用户名\.claude\settings.jsonmacOS 上是/Users/你的用户名/.claude/settings.json。这个文件是 JSON 格式的常用的配置项包括{ model: claude-sonnet-4-20250514, theme: dark, autoSave: true, maxTokens: 8192 }model指定使用的模型theme设置终端主题autoSave控制是否自动保存对话记录maxTokens限制单次响应的最大 token 数。如果你在团队里使用可能还需要配置代理或者 API 端点。这些配置也可以通过环境变量来设置优先级是环境变量高于配置文件。需要注意的是settings.json的格式要求很严格多一个逗号或者少一个引号都会导致解析失败。如果你手动编辑过这个文件后 Claude Code 启动报错第一件事就是检查 JSON 格式是否合法。可以用在线的 JSON 校验工具验证一下。5.3 VSCode 集成配置的注意事项Claude Code 可以和 VSCode 集成在编辑器里直接调用。配置方法是在 VSCode 的设置里搜索 Claude Code 相关的扩展或者手动在settings.json里添加配置。VSCode 集成的好处是你不需要来回切换终端和编辑器直接在编辑器里就能让 Claude Code 帮你改代码。但集成配置也有坑VSCode 的终端环境和系统终端环境可能不一致导致在 VSCode 里能用但系统终端里不能用或者反过来。如果你在 VSCode 里遇到 Claude Code 命令找不到的问题检查 VSCode 的终端设置确保它使用的是系统的默认 shell而不是 VSCode 内置的受限环境。具体路径是VSCode 设置 - 搜索terminal.integrated.shell- 确认配置的是你系统的 shell 路径。6. 常见报错速查与排查思路6.1 安装阶段高频报错对照表报错信息根本原因解决方法winget : 无法将“winget”项识别为 cmdlet系统没有 winget 或 PATH 未配置安装“应用安装程序”或升级 Windows无法连接到源winget 源网络不通换中科大镜像源或改用 npm 安装npm : 无法加载文件 npm.ps1因为在此系统上禁止运行脚本PowerShell 执行策略限制Set-ExecutionPolicy RemoteSignednpm 不是内部或外部命令Node.js 未安装或 PATH 未配置安装 Node.js 并检查 PATHclaude 不是内部或外部命令npm 全局包目录不在 PATH 中将 npm prefix 目录添加到 PATH404 Not Found - GET https://registry.npmjs.org/anthropic-ai%2fclaude-code包名错误或镜像源未同步确认包名切换镜像源npm warn deprecated node-domexception依赖包废弃警告忽略不影响使用这张表覆盖了我遇到过的绝大部分报错。你可以根据自己的报错信息对号入座。如果报错不在表里把完整的报错信息复制到搜索引擎里搜一下通常能找到相关的讨论。6.2 网络问题的分层排查方法网络问题是安装过程中最让人头疼的因为报错信息往往很模糊。我总结了一个分层排查的方法从底层到上层逐级检查。第一层检查基础网络连通性。在终端里ping registry.npmmirror.com看能不能通。如果不通说明你的网络本身有问题先解决网络。第二层检查 DNS 解析。nslookup registry.npmmirror.com看能不能解析出 IP 地址。如果解析失败换一个 DNS 服务器试试比如223.5.5.5。第三层检查 HTTPS 访问。在浏览器里打开https://registry.npmmirror.com看能不能正常访问。如果浏览器能访问但终端不能可能是终端没有走系统代理。第四层检查 npm 配置。npm config list查看当前的 registry 配置确认没有配错地址。有时候之前配过其他源残留的配置会导致冲突。第五层检查包是否存在。npm view anthropic-ai/claude-code查看包的信息如果返回 404说明镜像源里没有这个包换回官方源或者换其他镜像源试试。这个分层排查方法看起来麻烦但实际上每一层只需要几秒钟就能确认比盲目重试效率高得多。6.3 权限问题与管理员模式的取舍Windows 上还有一个常见问题是权限不足。有些操作需要管理员权限才能执行比如修改系统级的环境变量、安装全局包到系统目录等。我的建议是安装 Node.js 和配置系统环境变量时使用管理员权限但日常使用 Claude Code 时用普通权限。因为 Claude Code 会读写你的项目文件用管理员权限运行可能会不小心修改到系统文件。如果你在安装时遇到“EACCES: permission denied”或者“EPERM: operation not permitted”这类报错先试试用管理员身份打开终端重新执行。如果还是不行检查目标目录的权限设置确保当前用户有写入权限。macOS 上如果遇到权限问题不要习惯性地加sudo。npm 全局安装用sudo会导致后续很多权限混乱。正确的做法是配置 npm 的全局目录到用户目录下npm config set prefix ~/.npm-global然后把~/.npm-global/bin添加到 PATH 中。这样所有全局包都安装在用户目录下不需要sudo也不会有权限问题。7. 卸载与重装干净环境的重要性7.1 彻底卸载 Claude Code 的步骤有时候安装出了问题怎么都修不好最省时间的办法是彻底卸载然后重装。但卸载也要卸干净不然残留的配置文件会影响重装。卸载 Claude Code 本身很简单npm uninstall -g anthropic-ai/claude-code但这只是删除了包文件配置文件、缓存、日志还在。要彻底清理还需要手动删除以下内容用户目录下的.claude文件夹包含 settings.json 和对话记录npm 缓存中的相关文件npm cache clean --force如果之前用 winget 装过还需要winget uninstall Anthropic.ClaudeCode清理完成后关闭所有终端窗口重新打开再按照前面的步骤重新安装。这样能确保不会因为残留配置导致奇怪的问题。7.2 重装时的环境隔离建议如果你需要在多台机器上安装或者经常需要重装建议考虑环境隔离。最简单的方式是使用 Node.js 版本管理工具比如 Windows 上的nvm-windows或者 macOS 上的nvm。使用 nvm 的好处是你可以为不同的项目使用不同的 Node.js 版本而且全局包是跟着 Node.js 版本走的。当你切换 Node.js 版本时全局包也会切换不会互相干扰。安装 nvm 后安装 Claude Code 的流程变成nvm install 20 nvm use 20 npm install -g anthropic-ai/claude-code这样即使以后需要升级 Node.js 版本也不会影响已有的 Claude Code 安装。如果新版本有问题随时可以切回旧版本。7.3 版本升级与降级的操作方法Claude Code 更新比较频繁有时候新版本引入了 bug需要降级到旧版本。npm 安装的包降级很简单npm install -g anthropic-ai/claude-code1.0.0把1.0.0换成你想要的具体版本号。你可以用npm view anthropic-ai/claude-code versions查看所有可用的版本。升级到最新版本npm update -g anthropic-ai/claude-code或者直接重新安装npm install -g anthropic-ai/claude-codelatest我个人的习惯是如果当前版本用着没问题不急着升级。等新版本发布一段时间看看社区反馈再决定。命令行工具的稳定性比新功能重要得多。8. 我踩过的那些坑与最终建议第一次装 Claude Code 的时候我在 winget 上卡了将近一个小时。报错信息是“无法连接到源”我以为是网络问题换了几个网络环境都不行。后来才发现是 winget 源本身在国内访问就不稳定跟我的网络没关系。如果当时直接走 npm 路线可能十分钟就搞定了。第二次是在 Windows 10 的老机器上npm 装完了但claude命令找不到。我检查了 PATH发现 npm 的全局目录确实没在里面。手动添加后又遇到了 PowerShell 执行策略的问题。这两个问题叠加在一起让人误以为是 Claude Code 本身有问题。其实都是 Windows 环境配置的锅。第三次是在 macOS 上整体顺利很多但遇到了 Node.js 版本太旧的问题。系统自带的 Node.js 是 14 版本Claude Code 要求 18 以上。用 Homebrew 升级了 Node.js 后一切正常。踩了这些坑之后我总结了几条经验。第一国内环境优先走 npm 安装路线把镜像源配好成功率最高。第二Windows 上先把 PowerShell 执行策略改好能避免很多莫名其妙的报错。第三安装完成后第一时间跑claude doctor有问题早发现早解决。第四不要怕卸载重装有时候清理干净重来比修修补补快得多。最后再分享一个小技巧如果你在安装过程中遇到了本文没覆盖的报错把完整的报错信息复制下来去掉里面的用户名和路径信息然后搜索。大部分报错都有人遇到过关键是找到正确的搜索关键词。另外Claude Code 的官方文档里有一个 troubleshooting 页面虽然写得比较简略但覆盖了一些常见问题值得一看。
返回列表