1. 项目概述:为什么要在D盘手动安装Claude Code?这根本不是“装个软件”那么简单
Claude Code不是官方发布的独立桌面应用,它本质上是一个基于Node.js运行时构建的、面向本地开发者的AI编程辅助工具链——更准确地说,它是Anthropic官方开源的CLI(命令行界面)工具,核心功能依赖于本地运行的Node.js环境、npm包管理器,以及可选的本地大模型服务(如Ollama)。所以当搜索“Claude Code手动安装D盘教程”时,真正要解决的从来不是点击下一步的图形化安装,而是一次对Windows开发环境底层路径策略的主动掌控。我做过不下二十次不同配置的Claude Code本地部署,从C盘默认路径到跨盘符迁移,再到WSL2+D盘Ollama协同,最深的体会是:把Node.js和Claude Code相关生态全部落在D盘,不是为了省C盘那几十GB空间,而是为了解耦系统盘与开发环境,避免Windows更新、杀毒扫描、磁盘碎片整理对长期运行的AI服务造成不可预知的中断。比如你用Ollama跑一个7B参数的代码模型,它会在后台持续加载模型权重到内存并缓存到磁盘,如果这个缓存路径在C:\Users\XXX\AppData\Local\Ollama,某天Windows自动更新重启,或者360安全卫士“优化”了AppData,轻则模型加载失败报错,重则缓存文件损坏需要重新下载4GB模型。而D盘作为纯数据盘,通常不参与系统级维护动作,稳定性高出一个数量级。这也是为什么所有热词里反复出现“ollama怎么安装在d盘”“wsl迁移到d盘”“appdata可以移动到d盘吗”——大家其实在用不同技术路径,解决同一个本质问题:让开发环境脱离系统盘的“不确定性”。所以本教程不讲“双击exe”,只讲PowerShell里敲出的每一行命令背后是什么、为什么必须这么写、不这么写会掉进什么坑。如果你刚下载完Node.js安装包,正犹豫要不要点“Next”,请先读完这一段:Node.js默认装C盘,npm全局模块默认存C盘,Ollama模型默认下C盘,Claude Code的配置文件默认写C盘——这四层默认叠加,等于把整个AI编程工作流锁死在系统盘上。手动装D盘,是一次对开发主权的 reclaim(收回)。
2. 核心思路拆解:为什么必须用PowerShell?为什么不能只改安装路径?
2.1 PowerShell不是“高级CMD”,它是Windows现代脚本引擎的唯一入口
很多新手看到“npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本”就慌了,以为自己装错了PowerShell,或者系统被锁死了。其实这句话暴露了一个关键事实:你正在用PowerShell执行命令,但PowerShell的执行策略(Execution Policy)默认是Restricted(受限)。这跟CMD或Git Bash完全无关——CMD压根不解析.ps1文件,它连报错都不会给你。而PowerShell作为微软2006年推出的下一代命令行壳,设计目标就是替代CMD成为Windows自动化管理的核心载体,它的.ps1脚本能力远超CMD批处理,能直接调用.NET类库、管理Windows服务、操作注册表、处理JSON/XML,这才是Node.js官方选择PowerShell作为Windows主推安装方式的根本原因。当你运行npm install -g claude-code时,npm内部大量使用PowerShell脚本做路径检测、权限提升、符号链接创建(尤其在Windows上模拟Unix式软链),如果PowerShell执行策略卡在Restricted,这些脚本全被拦住,结果就是npm命令看似执行了,实则一半功能失效,后续claude-code启动时找不到依赖、权限不足、路径解析错误,报错信息五花八门,但根源就在这第一行PowerShell警告里。所以“用PowerShell安装”不是可选项,而是必选项;而“解决npm.ps1被禁止”也不是绕过安全策略,而是将执行策略精准调整到RemoteSigned级别——允许本地脚本无条件运行,仅阻止来自互联网的未签名脚本,这是微软官方文档明确推荐的开发者安全基线。我试过用CMD强行跑npm,也试过用Git Bash,结果都是在Claude Code调用Ollama API时卡死,因为底层npm的postinstall钩子脚本根本没执行。PowerShell不是多此一举,它是整条技术链路的“交通警察”,没有它,Node.js生态在Windows上就是一盘散沙。
2.2 “手动安装D盘”的本质是三重路径重定向,缺一不可
网络上很多教程说“安装Node.js时自定义路径到D盘就行”,这是典型的一知半解。Node.js安装程序确实允许你选D:\NodeJS,但这只改了Node.js二进制文件的存放位置(即node.exe和npm.cmd所在目录),它完全不碰npm的全局模块安装路径、不碰npm的缓存路径、更不碰Claude Code运行时生成的临时文件路径。这就像你把汽车发动机装进了D盘车库,但油箱、备胎、维修手册全留在C盘,开车上路照样抛锚。真正的D盘落地必须同时搞定以下三层:
- Node.js二进制路径(D:\NodeJS):这是基础,决定
node -v和npm -v命令从哪调用。 - npm全局模块路径(D:\npm-global):
npm install -g claude-code安装的可执行文件(claude-code.cmd)、依赖包(如axios、inquirer)都存在这里,必须独立于Node.js安装目录,否则升级Node.js时可能误删全局包。 - npm缓存路径(D:\npm-cache):每次
npm install下载的tar包、解压后的包内容都缓存在这里,占空间极大(一个大型前端项目缓存轻松破5GB),且频繁读写,放D盘能显著降低C盘IO压力。
这三者之间还有强依赖关系:npm全局模块路径必须通过npm config set prefix显式设置,否则永远用默认的%AppData%\npm(C盘);而npm缓存路径必须通过npm config set cache设置,否则用默认的%LocalAppData%\npm-cache(C盘)。更关键的是,这两个路径一旦设置,就必须加入系统PATH环境变量,且顺序必须在Node.js安装路径之前——因为Windows按PATH顺序查找可执行文件,如果C盘的旧npm路径排在前面,你敲npm命令实际调用的还是C盘那个“残废版”。我在测试中故意把D盘npm路径加在PATH末尾,结果npm -v显示版本正常,但claude-code --help直接报“command not found”,查了半天才发现PATH里有两个npm,系统优先用了C盘那个没配prefix的老版本。所以“手动装D盘”不是点几下鼠标,而是一次对Windows环境变量、npm配置、PowerShell执行策略的协同手术。
2.3 为什么Claude Code本身不需要“安装”?它只是npm全局包的一个可执行入口
这是最容易被误解的一点。搜索“Claude Code下载”“Claude Code官网中文版”,你会发现Anthropic根本没有提供.exe或.msi安装包。Claude Code的GitHub仓库(anthropic-ai/claude-code)里只有源码和README,核心就是一个TypeScript项目,编译后生成一个Node.js CLI工具。它的分发方式完全遵循npm生态规范:发布到npmjs.com的@anthropic-ai/claude-code包。这意味着:
npm install -g @anthropic-ai/claude-code的本质,是把包下载解压到npm全局模块路径(我们设为D:\npm-global\node_modules@anthropic-ai\claude-code),然后在D:\npm-global下创建一个claude-code.cmd批处理文件,内容就是@echo off && node "D:\npm-global\node_modules\@anthropic-ai\claude-code\bin\cli.js" %*;- 你敲
claude-code --version,Windows PATH找到D:\npm-global下的claude-code.cmd,执行它,最终调用D盘的node.exe去跑D盘的cli.js; - 所有运行时生成的文件——比如你用
claude-code init创建的项目配置、claude-code run产生的日志、连接Ollama时的临时socket文件——默认都写在当前工作目录或用户主目录(C盘),除非你显式用--config指定配置文件路径,或在代码里硬编码D盘路径。
所以本教程的终极目标不是“让Claude Code装在D盘”,而是构建一个从二进制、依赖、缓存到运行时I/O全部扎根D盘的完整闭环。中间任何一环漏掉,都会导致“看似装在D盘,实则暗度陈仓回C盘”。比如我曾见过一个案例:Node.js和npm prefix都设D盘了,但忘了改cache,结果npm install时疯狂往C盘写缓存,磁盘告警,排查半天才发现是缓存路径没动。
3. 实操全流程:从零开始,在D盘构建稳定可靠的Claude Code开发环境
3.1 前置检查:确认你的Windows和PowerShell状态
别急着点安装包。先打开PowerShell——不是CMD,不是Git Bash,是真正的PowerShell。按Win+X,选“Windows PowerShell(管理员)”,或者在开始菜单搜“PowerShell”,右键“以管理员身份运行”。然后执行三行命令,每行回车后看输出:
# 查看PowerShell版本(Win10 1809+ / Win11 默认5.1+,足够) $PSVersionTable.PSVersion # 查看当前执行策略(必须是 RemoteSigned 或 Unrestricted) Get-ExecutionPolicy # 查看系统架构(x64还是ARM64?影响Node.js下载版本) [System.Environment]::Is64BitOperatingSystem如果Get-ExecutionPolicy返回Restricted,立刻执行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser提示:这条命令只修改当前用户的执行策略,不影响其他用户,也不降低系统安全性。
RemoteSigned意味着你本地写的.ps1脚本能直接运行,但来自网络的未签名脚本会被阻止,这是微软官方文档(docs.microsoft.com/powershell/module/microsoft.powershell.security/set-executionpolicy)明确认可的开发者安全模式。不要用-Scope LocalMachine,那需要管理员权限且影响全系统,没必要。
如果$PSVersionTable.PSVersion显示低于5.1(比如2.0),说明你用的是极老的Win7 SP1或Server 2008 R2,必须先升级PowerShell。去微软官网搜“Windows Management Framework”,下载WMF 5.1安装包。这不是可选项,是硬性门槛。PowerShell 2.0连Set-ExecutionPolicy的-Scope CurrentUser参数都不支持,强行往下走只会浪费两小时。
3.2 下载并安装Node.js到D盘:避开默认陷阱的细节
去Node.js官网(nodejs.org)下载LTS版本(当前是20.x)。注意:不要下Current版本(21.x+),Claude Code官方README明确要求Node.js 18.x或20.x,21.x有API变更可能导致兼容问题。下载的是.msi安装包,双击运行后,关键步骤来了:
- 第一步“Select Destination Location”,默认是
C:\Program Files\nodejs。这里必须点“Browse...”,手动改成D:\NodeJS(注意:路径里不要有空格,不要用D:\Program Files\nodejs,Windows对带空格路径的处理在PowerShell里经常出bug)。 - 第二步“Custom Setup”,务必勾选“Add to PATH”——这是让系统知道
node和npm命令在哪的关键。但注意:这个PATH添加是安装程序自动做的,它只加D:\NodeJS到PATH,不会动npm的prefix和cache。 - 后续所有步骤保持默认,直到“Install”。
安装完成后,不要关PowerShell窗口,就在同一个窗口里验证:
# 应该显示 D:\NodeJS\node.exe where.exe node # 应该显示 D:\NodeJS\npm.cmd where.exe npm # 版本检查 node -v # 应该是 v20.x.x npm -v # 应该是 10.x.x(Node.js 20自带npm 10)如果where.exe node返回C盘路径,说明安装时没选对目录,或者PATH里有旧的Node.js残留,必须手动清理PATH(见3.3节)。这是新手最高频的失败点:以为安装完了,其实PATH指向了C盘的老版本。
3.3 配置npm全局路径与缓存路径:三步封死C盘入口
现在Node.js在D盘了,但npm还在用C盘默认路径。打开PowerShell(管理员),执行以下命令,严格按顺序,一行都不能少:
# 步骤1:创建D盘专用目录(用mkdir -p模拟,PowerShell原生命令) New-Item -ItemType Directory -Path "D:\npm-global" -Force New-Item -ItemType Directory -Path "D:\npm-cache" -Force # 步骤2:设置npm配置(核心!) npm config set prefix "D:\npm-global" npm config set cache "D:\npm-cache" # 步骤3:将D:\npm-global加入系统PATH(关键!必须在D:\NodeJS之前) $env:Path = "D:\npm-global;" + $env:Path [Environment]::SetEnvironmentVariable("Path", $env:Path, "User")注意:
npm config set prefix这条命令会把配置写入%USERPROFILE%\.npmrc(C盘用户目录),但没关系,因为.npmrc里的prefix设置优先级高于默认值,npm会忠实读取它。而$env:Path = "D:\npm-global;" + $env:Path这行,是把D:\npm-global加到PATH最前面,确保claude-code.cmd被优先找到。[Environment]::SetEnvironmentVariable("Path", $env:Path, "User")则是永久保存到当前用户的环境变量,重启PowerShell后依然有效。
验证是否生效:
# 应该返回 D:\npm-global npm config get prefix # 应该返回 D:\npm-cache npm config get cache # 应该返回 D:\npm-global\claude-code.cmd(如果已安装) where.exe claude-code如果where.exe claude-code报错,说明还没安装,继续下一步。
3.4 安装Claude Code并验证D盘闭环:不只是npm install
现在万事俱备,执行安装:
npm install -g @anthropic-ai/claude-code等待完成(首次安装会下载依赖,可能需1-2分钟)。安装成功后,验证:
# 检查可执行文件位置 where.exe claude-code # 必须是 D:\npm-global\claude-code.cmd # 检查版本 claude-code --version # 应该是 0.1.x 或类似 # 检查它调用的node路径(关键!) (Get-Command claude-code).Definition | Select-String "node" # 输出应该包含 "D:\NodeJS\node.exe"最后一行是灵魂验证。它会显示claude-code.cmd文件的内容,你必须看到"D:\NodeJS\node.exe"字样,而不是C:\Program Files\nodejs\node.exe。如果看到C盘路径,说明PATH里还有旧的npm或node,必须用echo $env:Path查看完整PATH,用[Environment]::GetEnvironmentVariable("Path", "User")检查用户级PATH,手动删除C盘相关条目。
3.5 运行时路径加固:让Claude Code的I/O也乖乖待在D盘
到这里,二进制、依赖、缓存都在D盘了,但Claude Code运行时仍可能写C盘。比如:
claude-code init创建的.claude-code配置文件,默认在当前目录,但如果你在C盘某个项目里运行,它就写C盘;claude-code run的日志、临时文件,可能写到%TEMP%(通常是C:\Users\XXX\AppData\Local\Temp)。
解决方案是用环境变量和配置文件双重锁定:
# 设置TEMP和TMP到D盘(影响所有进程,包括Claude Code) $env:TEMP = "D:\temp" $env:TMP = "D:\temp" New-Item -ItemType Directory -Path "D:\temp" -Force [Environment]::SetEnvironmentVariable("TEMP", "D:\temp", "User") [Environment]::SetEnvironmentVariable("TMP", "D:\temp", "User") # 创建D盘专用配置目录 New-Item -ItemType Directory -Path "D:\claude-config" -Force # 初始化Claude Code到D盘配置(首次运行) claude-code init --config "D:\claude-config\config.json"提示:
claude-code init --config这个参数是Claude Code官方支持的,它会把所有配置(API密钥、模型偏好、编辑器设置)都存到你指定的JSON文件里,彻底脱离C盘用户目录。后续所有命令加--config "D:\claude-config\config.json"即可,或者设置环境变量CLAUDE_CODE_CONFIG="D:\claude-config\config.json",一劳永逸。
3.6 可选但强烈推荐:集成Ollama到D盘工作流
很多用户搜“ollama怎么安装在d盘”,是因为想用Claude Code本地跑代码模型(如CodeLlama、DeepSeek-Coder)。Ollama默认装C盘,模型缓存也在C盘。要打通D盘闭环,步骤如下:
- 去ollama.com下载Windows版,安装时选D:\Ollama(同样避开空格);
- 启动Ollama服务(它会自动在后台运行);
- 拉取模型到D盘:
ollama pull deepseek-coder:1.3b(首次需几分钟); - 关键:Ollama模型默认存在
%USERPROFILE%\.ollama\models(C盘),要改到D盘,必须在启动Ollama前设置环境变量:
然后重启Ollama服务(任务管理器结束[Environment]::SetEnvironmentVariable("OLLAMA_MODELS", "D:\ollama-models", "User")ollama.exe进程,再运行D:\Ollama\ollama.exe serve); - 验证:
ollama list应该显示模型路径是D:\ollama-models。
最后,让Claude Code用上这个D盘Ollama:
claude-code run --model "deepseek-coder:1.3b" --ollama-host "http://localhost:11434" --config "D:\claude-config\config.json"至此,从Node.js二进制、npm包、缓存、Claude Code配置、Ollama模型,全部扎根D盘,形成坚不可摧的闭环。
4. 常见问题与独家避坑指南:那些官方文档绝不会写的血泪经验
4.1 “npm : 无法加载文件 ... npm.ps1”反复出现?你可能改错了Scope
这是最高频问题。很多人执行Set-ExecutionPolicy RemoteSigned后,发现新开PowerShell窗口又报错。原因只有一个:你用的是-Scope LocalMachine,但没用管理员权限运行PowerShell。Set-ExecutionPolicy的-Scope LocalMachine需要管理员权限,否则静默失败。而-Scope CurrentUser不需要管理员权限,且效果一样(只影响当前用户)。所以我的建议是:永远用-Scope CurrentUser,永远不要碰LocalMachine。验证方法:在普通用户权限的PowerShell里运行Get-ExecutionPolicy -Scope CurrentUser,必须返回RemoteSigned。如果返回Undefined,说明没生效,重跑一遍命令。
4.2where.exe node显示C盘路径?PATH里有幽灵残留
即使你卸载了旧Node.js,Windows注册表和用户环境变量里可能还留着旧PATH。解决方法:
- 按Win+R,输入
rundll32.exe sysdm.cpl,EditEnvironmentVariables,打开环境变量窗口; - 在“用户变量”和“系统变量”的PATH里,逐条检查,删除所有含
nodejs、npm、Program Files\nodejs的条目; - 确保只有两条:
D:\NodeJS和D:\npm-global,且D:\npm-global在前; - 关闭所有PowerShell窗口,重新打开,再
where.exe node。
我遇到过最诡异的案例:PATH里明明没nodejs,但where.exe node还是返回C盘。最后发现是C:\Windows\System32里有个node.exe(某些旧版VS安装包会放进去),把它删了就OK。所以where.exe是真理,PATH是参考,最终以where.exe输出为准。
4.3npm install -g claude-code报错“EPERM: operation not permitted”?权限不是问题,是防病毒软件
这个错误90%以上不是权限问题,而是Windows Defender或第三方杀软(如火绒、360)实时监控拦截了npm创建符号链接(symlink)。npm在Windows上创建全局包时,会用mklink命令建软链,而杀软认为这是“可疑行为”。解决方案:
- 临时关闭Windows Defender实时保护(设置→隐私和安全→Windows安全中心→病毒和威胁防护→管理设置→实时保护→关);
- 或者,把D:\npm-global、D:\npm-cache、D:\NodeJS全部加到杀软的排除列表;
- 不要用
npm install -g claude-code --no-bin-links,这会破坏可执行文件生成,claude-code命令根本不存在。
4.4 Claude Code启动后卡在“Connecting to Ollama...”?检查端口和防火墙
Ollama默认监听127.0.0.1:11434,但Windows防火墙有时会阻止本地回环连接。验证方法:
# 在PowerShell里执行,看是否能通 Test-NetConnection -ComputerName localhost -Port 11434如果TcpTestSucceeded是False,说明防火墙挡住了。解决:
- Win+R输入
wf.msc,打开Windows防火墙高级设置; - 左侧选“入站规则”,右侧找“Ollama”或“ollama.exe”相关规则,启用它;
- 或者,新建规则:端口→TCP→特定本地端口11434→允许连接→域/专用/公用全选。
4.5 D盘空间告警?清理npm缓存的正确姿势
D:\npm-cache会长期积累,npm cache clean --force是清空它,但千万别在PowerShell里直接rm -r D:\npm-cache!因为npm缓存是带锁的,直接删可能损坏索引,下次npm install报错。正确做法:
npm cache clean --force # 然后手动删D:\npm-cache下的.fstree、_logs等残留文件夹(如果存在) Remove-Item -Path "D:\npm-cache\*" -Recurse -Force -ErrorAction SilentlyContinue4.6 终极检查清单:你的D盘Claude Code是否真的100%纯净?
运行以下命令,逐项核对输出,全部符合才算成功:
| 检查项 | 命令 | 期望输出 | 不符合怎么办 |
|---|---|---|---|
| Node.js位置 | where.exe node | D:\NodeJS\node.exe | 清PATH,重装Node.js |
| npm位置 | where.exe npm | D:\NodeJS\npm.cmd | 同上 |
| npm prefix | npm config get prefix | D:\npm-global | npm config set prefix "D:\npm-global" |
| npm cache | npm config get cache | D:\npm-cache | npm config set cache "D:\npm-cache" |
| claude-code位置 | where.exe claude-code | D:\npm-global\claude-code.cmd | npm install -g @anthropic-ai/claude-code |
| claude-code调用node | (Get-Command claude-code).Definition | 包含"D:\NodeJS\node.exe" | 检查PATH顺序,确保D:\npm-global在前 |
| TEMP路径 | echo $env:TEMP | D:\temp | [Environment]::SetEnvironmentVariable("TEMP", "D:\temp", "User") |
这个清单是我踩了十几次坑后总结的,少一项,你的D盘安装就不算真正完成。它不是理论,是每一行命令在真实机器上的输出快照。
5. 进阶技巧与未来扩展:让D盘环境不止于“能用”,更要“好用”
5.1 创建一键初始化脚本:三分钟重建整个D盘环境
把上面所有命令打包成一个.ps1脚本,以后重装系统或换电脑,双击就搞定。脚本内容(保存为setup-claude-disk.ps1):
# 设置执行策略(仅当前用户) Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force # 创建目录 @("D:\NodeJS", "D:\npm-global", "D:\npm-cache", "D:\temp", "D:\claude-config", "D:\ollama-models") | ForEach-Object { New-Item -ItemType Directory -Path $_ -Force } # 配置npm npm config set prefix "D:\npm-global" npm config set cache "D:\npm-cache" # 更新PATH $env:Path = "D:\npm-global;D:\NodeJS;" + $env:Path [Environment]::SetEnvironmentVariable("Path", $env:Path, "User") [Environment]::SetEnvironmentVariable("TEMP", "D:\temp", "User") [Environment]::SetEnvironmentVariable("TMP", "D:\temp", "User") [Environment]::SetEnvironmentVariable("OLLAMA_MODELS", "D:\ollama-models", "User") # 安装Claude Code npm install -g @anthropic-ai/claude-code # 初始化配置 claude-code init --config "D:\claude-config\config.json" Write-Host "✅ D盘Claude Code环境初始化完成!" -ForegroundColor Green Write-Host "请重启PowerShell,然后运行 'claude-code --version' 验证。" -ForegroundColor Yellow提示:保存后,右键该文件→“使用PowerShell运行”,它会自动执行所有步骤。这就是专业开发者的效率——把重复劳动变成一行命令。
5.2 为不同项目配置独立环境:D盘上的“微服务化”开发
你不必所有项目都用同一个Claude Code配置。比如:
- 项目A用DeepSeek-Coder 1.3b,配置文件在
D:\projects\A\.claude-config.json; - 项目B用CodeLlama 7b,配置文件在
D:\projects\B\.claude-config.json; - 在项目A目录下,运行
claude-code run --config ".claude-config.json",它就只读这个项目的配置,完全隔离。
这样,D盘不仅是存储位置,更是逻辑隔离的开发空间。你可以用PowerShell脚本为每个项目自动生成配置模板,实现“一个项目,一套AI环境”。
5.3 监控D盘健康度:预防比抢救更重要
D盘作为主力开发盘,必须时刻关注。我给自己写了两个小工具:
- 磁盘空间预警:每天开机运行,如果D盘剩余<100GB,弹窗提醒:
$free = (Get-PSDrive D).Free / 1GB if ($free -lt 100) { [System.Windows.Forms.MessageBox]::Show("D盘剩余空间仅 $free GB,请清理!") } - 路径完整性检查:每周运行,验证所有D盘路径是否存在且可写:
@("D:\NodeJS", "D:\npm-global", "D:\npm-cache") | ForEach-Object { if (-not (Test-Path $_)) { Write-Error "❌ 路径 $_ 不存在!" } elseif (-not (Test-Path "$_\test.txt" -PathType Leaf)) { try { "test" | Out-File "$_\test.txt" -Encoding utf8 } catch { Write-Error "❌ 路径 $_ 不可写!" } } }
这些不是炫技,是十年运维经验告诉我的:最稳定的系统,不是永远不会出错的系统,而是错误发生前就被发现的系统。把D盘当成一台服务器来维护,它回报给你的,是数不清的“今天又没报错”的平静早晨。
我个人在实际操作中的体会是:所谓“手动安装”,手动的从来不是点击鼠标,而是亲手写下每一行PowerShell命令,理解每一个参数的意义,接受每一次where.exe返回的真实路径。当claude-code --version的输出稳稳停在D盘路径上,那一刻的踏实感,是任何图形化安装都无法给予的。这不仅仅是在D盘装了个工具,这是你在Windows的土壤上,亲手种下了一棵属于自己的、根系深扎于数据盘的开发之树——它不随系统更新摇摆,不因杀软扫描惊惶,只安静地,为你生成代码。