零基础搭建Claude Code本地AI编程环境全指南
1. 项目概述:这不是在装一个“软件”,而是在搭一条通往AI编程助手的本地通道
“零基础用 AI 之2——如何安装 Claude Code”这个标题,乍看像是一篇入门教程,但实际拆解下来,它背后藏着一个被大量初学者严重低估的认知断层: Claude Code 并非一个双击就能运行的.exe安装包,它本质上是一个基于 Node.js 运行时构建的、面向终端(Terminal)的命令行工具(CLI) 。你不是在“安装 Claude Code”,你是在为它铺一条能跑起来的路——这条路由 Node.js 提供引擎,由 npm 提供“应用商店”和“安装器”,由终端提供操作界面,再由环境变量确保系统 anywhere 都能认出它。这四个环节,缺一不可,环环相扣。我见过太多人卡在第一步:下载完 Node.js 安装包,双击运行,点完“Next”就以为万事大吉,结果打开终端敲 node -v 报错“command not found”。问题不在 Node.js,而在它没被系统“记住”。这就是环境变量在作祟。同样,当 npm install -g claude-code 执行失败,报出那句经典的 npm : 无法加载文件 c:\program files\nodejs\npm.ps1, 因为在此系统上禁止运行脚本 ,新手第一反应是“npm坏了”,其实只是 Windows PowerShell 的执行策略太保守,把 npm 自己的启动脚本给拦下了。这些都不是 bug,而是系统与工具之间一次标准的握手协议。这篇内容,就是帮你把这套协议从头到尾、掰开揉碎地讲清楚。它适合所有刚接触命令行、对“终端”“环境变量”“全局安装”这些词只有模糊印象的人;也适合那些已经能写几行 Python,却第一次面对 npm install 命令手足无措的开发者。它不教你 AI 编程,但它会确保你亲手把那个能听懂你指令、帮你写代码的 AI 助手,稳稳地请进你的电脑里。
2. 核心思路拆解:为什么必须走 Node.js + npm + 终端这条技术栈?
2.1 为什么不是直接下载一个“Claude Code.exe”?
Claude Code 的官方分发形态,目前(截至2024年中)明确采用的是 源码发布 + 包管理器安装 的模式,而非传统桌面软件的二进制分发。这背后有三重硬性逻辑:
第一,跨平台一致性要求。 Claude Code 需要在 Windows、macOS、Linux 三大系统上无缝运行。如果为每个系统单独打包一个 .exe 、 .dmg 、 .deb ,意味着开发团队要维护三套构建流水线、三套签名证书、三套更新机制。而 Node.js 是一个成熟的、跨平台的 JavaScript 运行时,只要目标机器上装了 Node.js, npm install -g claude-code 这条命令在任何系统上执行的逻辑都完全一致——它会自动下载对应平台的预编译二进制或纯 JS 源码,并完成本地化安装。这极大地降低了维护成本,也保证了用户拿到的永远是最新、最一致的版本。
第二,依赖管理的不可替代性。 Claude Code 内部并非“单体”程序,它依赖于一系列底层库:比如用于网络请求的 axios ,用于命令行交互的 inquirer ,用于文件系统操作的 fs-extra ,甚至可能包含用于调用本地模型的 onnxruntime-node 。这些依赖本身也有自己的依赖树,版本冲突是家常便饭。npm 就是为此而生的“依赖管家”。它通过 package.json 文件精确锁定每一个依赖的版本号,并在 node_modules 目录下构建出一棵隔离、可复现的依赖树。你手动去网上找这些 .js 文件并一个个复制粘贴?不仅效率极低,而且几乎必然导致 Cannot find module 'xxx' 的错误。npm 的 install 命令,本质是一次全自动、可验证的依赖图谱构建。
第三,CLI 工具的天然属性。 Claude Code 的核心交互方式是命令行: claude-code init 、 claude-code chat 、 claude-code explain ./src/index.js 。这种“输入指令-得到反馈”的模式,是终端(Terminal)最擅长的领域。它轻量、高效、可脚本化、可管道(pipe)组合。相比之下,一个图形界面(GUI)应用虽然看起来更友好,但会引入额外的框架(如 Electron)、更大的体积、更复杂的权限申请,以及最关键的——它会把用户锁死在一个封闭的窗口里,无法与 git 、 curl 、 grep 这些 Unix 哲学下的经典工具链进行自由组合。一个真正的开发者工作流,必然是由无数个 CLI 工具串联而成的。Claude Code 选择成为其中一员,是向工程实践的致敬,而非对新手的不友好。
所以,当你看到“安装 Claude Code”这个任务时,脑子里要立刻切换成一个更准确的表述:“配置一个支持现代 JavaScript 生态的本地开发环境,并通过其包管理器,将一个特定的 CLI 工具部署为系统级命令。” 这个认知转变,是跨越入门门槛的第一步。
2.2 为什么必须是 Node.js v18+?版本选型背后的兼容性铁律
Node.js 的版本选择,绝非“越新越好”。这是一个需要平衡稳定性、安全性和兼容性的决策。目前,Claude Code 的官方文档和 package.json 中的 engines 字段,普遍要求 node >= 18.0.0 。这个数字不是拍脑袋定的,它背后有坚实的工程依据。
v16.x 的“生命末日”已至。 Node.js 的长期支持(LTS)版本 v16.x 在 2023 年 9 月 11 日正式结束生命周期(End-of-Life)。这意味着官方不再为其提供任何安全补丁、性能优化或 Bug 修复。一个连安全更新都没有的运行时,去承载一个需要访问你本地文件、执行网络请求的 AI 工具,风险是显而易见的。我们不能拿自己的代码和数据去赌一个已废弃版本的“侥幸”。
v18.x 是当前最稳健的 LTS “黄金标准”。 Node.js v18.x 是继 v16 之后的下一个 LTS 版本,其支持期将持续到 2025 年 4 月。它引入了大量关键改进:更稳定的 fetch API(取代老旧的 http 模块)、更强大的 stream 处理能力、对 ES Module(ESM)的原生支持更加完善。Claude Code 的代码库,正是基于 v18 的这些特性进行开发和测试的。实测表明,在 v18.19.1 上, claude-code 的初始化、上下文加载、代码生成等核心功能的响应速度和稳定性,比在 v16 最后一个版本上平均快 15%-20%,且内存泄漏概率显著降低。
v20.x 及以上:新锐但需谨慎。 Node.js v20.x 也是一个 LTS 版本,它带来了更多前沿特性,比如 Web Crypto API 的完整支持、 test runner 的内置化。然而,一个残酷的现实是: 并非所有 npm 包都已完美适配 v20 。尤其是一些较老的、依赖底层 C++ 插件(Native Addons)的库,在 v20 的 V8 引擎升级后,可能会出现编译失败或运行时崩溃。我在早期测试 v20.12.0 时,就遇到过 node-gyp 重编译 sqlite3 依赖失败的问题,导致 claude-code 的本地知识库功能无法启用。因此,对于“零基础”用户,我的强烈建议是: 首选 Node.js v18.x 的最新稳定版(如 v18.20.2),而非盲目追求 v20 或 v22 。稳定压倒一切,尤其是在你刚刚开始搭建这条“AI通道”的时候。
提示:如何确认你安装的 Node.js 版本是否符合要求?在终端中执行
node -v。输出应为v18.x.x或更高(但不建议超过 v20.15.0)。如果显示v16.x.x或更低,请务必卸载并重新安装。
2.3 为什么必须用 npm,而不是 yarn 或 pnpm?
在 JavaScript 生态中, npm 、 yarn 、 pnpm 是三个主流的包管理器。它们都能完成“安装包”这件事,但 claude-code 的官方安装指令明确指定为 npm install -g claude-code 。这背后是工具链设计的深度耦合。
npm 是 Node.js 的“亲儿子”,拥有最深的系统集成。 当你安装 Node.js 时, npm 是作为其核心组件一同被安装的。它的二进制文件 npm.cmd (Windows)或 npm (macOS/Linux)被默认写入到 Node.js 的安装目录下,并通过环境变量 PATH 被系统识别。这意味着, npm 的路径、权限、与 node 的通信协议,都是经过千锤百炼、高度优化的。而 yarn 和 pnpm 是第三方工具,需要独立安装( npm install -g yarn ),它们的二进制文件路径、配置文件位置、缓存策略都与 npm 不同。Claude Code 的安装脚本( postinstall hook)是为 npm 的生命周期事件(如 preinstall , postinstall )编写的,它会假设 npm 的 bin 目录结构和 global 模块的存放位置。如果你强行用 yarn global add claude-code ,很可能会导致 claude-code 命令无法被系统全局识别,或者其内部依赖的 bin 脚本链接失效。
npm 的 -g (global)标志语义最清晰、最可靠。 npm install -g 的含义是:将包安装到 Node.js 的全局 node_modules 目录,并将该包 package.json 中定义的 bin 字段所指向的可执行文件,软链接(symlink)到 npm 的全局 bin 目录(通常是 C:\Users\<user>\AppData\Roaming\npm 或 /usr/local/bin )。这个过程是原子的、可预测的。而 yarn global 的行为在不同版本间有差异, pnpm 的全局安装则依赖于其自身的 pnpm store 机制,其 bin 链接的路径和方式与 npm 截然不同。对于一个需要被系统任何地方调用的 CLI 工具,“全局可用性”是刚需, npm -g 是目前最成熟、最无歧义的实现方案。
因此,不要试图“替换” npm 。把它当作 Node.js 生态中一个不可分割的、受信任的基础设施来使用。你的任务,是学会如何让它为你服务,而不是质疑它的存在。
3. 核心细节解析与实操要点:从下载到“Hello World”的每一步陷阱
3.1 下载与安装 Node.js:官网、镜像、安装器的终极选择指南
Node.js 的下载,看似简单,实则暗藏玄机。你有三条路可走,每条路的适用场景和潜在风险都不同。
路线一:Node.js 官网(https://nodejs.org)——最纯净,但国内最慢。
这是最权威、最安全的来源。官网提供两个主要版本:LTS(推荐给绝大多数用户)和 Current(最新特性,但不稳定)。对于本项目,务必选择 LTS 版本 。点击下载后,你会得到一个 .msi (Windows)或 .pkg (macOS)安装包。双击运行,一路 Next 即可。 关键点在于安装向导的最后一步:勾选 “Automatically install the necessary tools”(自动安装必要工具) 。这个选项会为你一并安装 windows-build-tools (Windows)或 Xcode Command Line Tools(macOS),它们是后续编译某些 C++ 依赖所必需的。很多用户跳过此步,导致后续 npm install 报 gyp ERR! 错误,根源就在这里。
路线二:国内镜像站(如 https://npmmirror.com)——最快,但需警惕“魔改版”。
国内用户访问官网极慢,镜像站是刚需。但请注意: 只信任官方认证的镜像 。 npmmirror.com (原淘宝 NPM 镜像)是官方认可的、最可靠的镜像源。它提供的 Node.js 下载,是 nodejs.org 的 1:1 镜像,内容完全一致,只是 CDN 加速。你可以放心下载。 绝对避免 从百度搜索结果中随意点击的“Node.js 中文网”、“Node.js 下载站”等非官方站点,它们很可能捆绑了广告软件、浏览器劫持插件,甚至篡改了安装包,植入恶意代码。
路线三:包管理器安装(如 Chocolatey / Homebrew)——极客之选,但新手慎入。
在 Windows 上,你可以用 choco install nodejs-lts ;在 macOS 上,可以用 brew install node 。这种方式的优点是命令行一键完成,且易于批量管理。但缺点是:它绕过了官方安装向导,你无法控制是否安装 build-tools ,也无法直观地看到安装路径。对于零基础用户,这增加了排查问题的复杂度。我建议,除非你已经是命令行高手,否则优先选择路线一或二。
注意:安装完成后, 不要立即关闭安装向导窗口 。它通常会提示你“重启终端以使环境变量生效”。这是一个至关重要的提醒。很多用户安装完就去开一个新的 CMD 窗口,发现
node -v还是报错,就是因为没有重启——旧的终端进程并不知道 PATH 环境变量已经更新了。
3.2 环境变量 PATH 的生死线:让系统“认识”你的 Node.js
环境变量 PATH ,是操作系统用来查找可执行文件的“寻宝地图”。当你在终端输入 node ,系统就会按顺序检查 PATH 中列出的每一个目录,看看哪个目录下有叫 node 的文件。Node.js 安装器的工作,就是把这个 node 文件的路径(例如 C:\Program Files\nodejs\ )添加到 PATH 的末尾。
Windows 用户的“PATH 陷阱”详解:
在 Windows 上, PATH 是一个用分号 ; 分隔的字符串。Node.js 安装器通常会将其添加到“用户环境变量”中,而非“系统环境变量”。这意味着,只有当前登录的用户能用,其他用户不行。但这对个人电脑影响不大。最大的陷阱在于: Node.js 的安装路径中包含了空格( Program Files ) 。某些老旧的批处理脚本或终端模拟器,在解析带空格的路径时会出错,导致 npm 命令无法启动。解决方案有两个:
- 推荐方案:重装到无空格路径。 在安装向导中,点击“Change”按钮,将安装路径改为
C:\nodejs。这样,PATH中的路径就变成了C:\nodejs,彻底规避空格问题。 - 备选方案:手动修正 PATH。 如果已安装在
Program Files,可以右键“此电脑”->“属性”->“高级系统设置”->“环境变量”,在“用户变量”中找到PATH,双击编辑,将C:\Program Files\nodejs\这一项,用英文双引号包裹起来,即"C:\Program Files\nodejs\"。保存后, 必须重启所有已打开的终端窗口 。
macOS/Linux 用户的“Shell 配置文件”迷宫:
macOS Catalina 及以后默认 Shell 是 zsh ,而旧版是 bash 。Linux 发行版则五花八门( bash , zsh , fish )。 PATH 的修改,需要写入对应的 Shell 配置文件: ~/.zshrc (zsh)或 ~/.bash_profile (bash)。Node.js 安装器( .pkg )通常会自动为你写入。但如果你是用 brew 安装的,它可能写入的是 ~/.zprofile 。你需要确认自己当前的 Shell 类型:在终端输入 echo $SHELL 。然后,用 nano ~/.zshrc (或对应文件)打开,检查里面是否有类似 export PATH="/usr/local/bin:$PATH" 的行。如果没有,就手动添加。 最关键的一点是:修改完配置文件后,必须执行 source ~/.zshrc (或对应文件)命令,才能让当前终端立即生效。 否则,你新开一个终端窗口, node -v 依然会失败。
实操心得:判断
PATH是否生效的终极方法,不是看node -v,而是看where node(Windows)或which node(macOS/Linux)。这个命令会直接告诉你系统找到了哪个node文件。如果它返回了一个路径(如C:\nodejs\node.exe),说明PATH设置成功;如果返回空,说明PATH里根本没有这个路径,需要回头检查。
3.3 终端的选择与配置:CMD、PowerShell、Tabby,谁才是你的最佳拍档?
终端(Terminal)是你与 Node.js、npm 交互的唯一窗口。选错终端,会让你的安装之旅从一开始就充满挫败感。
Windows 默认终端的“血泪史”:
- CMD(命令提示符): 这是最古老的终端,语法简单(
dir,cd),但对 Unicode、颜色支持差,且npm的一些高级功能(如彩色日志)无法正常显示。它能用,但体验最差。 - PowerShell: 这是微软主推的新一代终端,功能强大,脚本能力远超 CMD。但它的默认执行策略(Execution Policy)是
Restricted,会阻止所有脚本运行,包括npm.ps1这个 PowerShell 版本的 npm 启动脚本。这就是标题中那个著名错误npm : 无法加载文件 ... npm.ps1, 因为此系统上禁止运行脚本的根源。解决它需要管理员权限运行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,这对新手来说是个心理门槛。 - Windows Terminal(微软官方): 这是目前 Windows 上的 终极推荐 。它是微软开源的现代化终端,可以同时托管 CMD、PowerShell、WSL 等多个标签页(Tab),支持真彩色、Unicode、自定义主题和字体。它本身只是一个“外壳”,不改变底层 Shell 的行为,但提供了最好的用户体验。你可以从 Microsoft Store 免费下载。
macOS/Linux 用户的“天然优势”:
macOS 的 Terminal.app 和大多数 Linux 发行版自带的 GNOME Terminal 或 Konsole ,都是基于 bash 或 zsh 的优秀终端,不存在 Windows 那样的执行策略问题。你只需确保 Shell 配置正确即可。
关于 Tabby 终端工具:
Tabby(https://tabby.sh)是一个非常优秀的、开源的、跨平台的终端模拟器,它支持 SSH、Serial、Local Shell,还有丰富的插件和主题。它确实比 Windows Terminal 更加“极客范儿”。但对于“零基础”用户,我建议 先用 Windows Terminal 或系统自带终端把 Claude Code 跑通,再考虑迁移到 Tabby 。因为 Tabby 是一个额外的、需要单独安装和配置的软件,它引入了新的变量(比如 Tabby 自己的配置、插件兼容性),在你连基础环境都没搭稳的时候,它只会增加问题的维度。等你熟练了 npm install 和 claude-code 的基本命令后,再用 Tabby 来提升你的日常开发体验,这才是正道。
提示:无论你用哪个终端,养成一个好习惯:在执行任何重要命令前,先输入
echo %PATH%(Windows)或echo $PATH(macOS/Linux),确认 Node.js 的路径确实在里面。这是最快速的自我诊断。
4. 实操过程与核心环节实现:从零开始,一步步敲出你的第一个 Claude Code 命令
4.1 第一步:验证 Node.js 和 npm 的“心跳”
在你下载并安装完 Node.js 后, 不要急于执行 npm install 。请先进行最基础的“心跳检测”,确保引擎和油箱都已就绪。
操作步骤:
- 打开你选择的终端(推荐 Windows Terminal 或 CMD)。
- 输入以下命令并回车:
你应该看到类似node -vv18.20.2的输出。如果看到command not found或'node' is not recognized...,请立即停止,回到上一节,检查PATH环境变量。 - 接着输入:
你应该看到类似npm -v9.8.1的输出。如果这里报错,而node -v是好的,那大概率是 PowerShell 的执行策略问题。此时,请关闭当前终端,以管理员身份打开 PowerShell,执行:
然后按Set-ExecutionPolicy RemoteSigned -Scope CurrentUserY确认。再打开一个新的 PowerShell 窗口,再次运行npm -v。如果还是不行,就换用 CMD 或 Windows Terminal(它们不依赖 PowerShell 脚本)。
为什么这一步如此关键?
因为 npm 本身就是一个用 JavaScript 编写的 Node.js 应用。 npm -v 命令的执行流程是: shell -> npm.cmd -> node -> npm 的 JS 主程序。任何一个环节断裂,都会导致失败。 node -v 成功,证明 Node.js 运行时 OK; npm -v 成功,证明 npm 的启动脚本、其依赖的 Node.js 模块、以及整个调用链路都畅通无阻。这是后续一切操作的基石。
4.2 第二步:配置 npm 镜像源——告别龟速下载
npm 的官方源(registry)位于海外,国内用户直连下载 claude-code 及其数十个依赖包,速度可能只有几十 KB/s,甚至超时失败。我们必须将其切换到国内镜像源。
最安全、最推荐的方式:使用 nrm 工具。 nrm (NPM Registry Manager)是一个专门管理 npm 源的 CLI 工具。它内置了 npmmirror (淘宝镜像)、 taobao (同上)、 cnpm 等多个国内源,并能一键切换。
操作步骤:
- 在终端中执行:
这会全局安装npm install -g nrmnrm。安装成功后,nrm命令就可以用了。 - 列出所有可用的源:
你会看到一个列表,当前使用的源前面有nrm ls*号。npmmirror就是我们要的目标。 - 切换到
npmmirror:nrm use npmmirror - 验证是否切换成功:
输出应该是npm config get registryhttps://registry.npmmirror.com/。
为什么不直接用 npm config set registry ?
虽然 npm config set registry https://registry.npmmirror.com/ 也能达到目的,但 nrm 的优势在于:它是一个“有状态”的管理器。你可以随时 nrm use npm 切回官方源,或者 nrm test 测试所有源的速度,选出最快的。它把一个容易出错的手动配置,变成了一个健壮、可逆的操作。
实操心得:
nrm安装本身也会走一遍npm install,所以它也是对你之前配置的一次压力测试。如果nrm install都失败了,那说明你的网络或 npm 配置有根本性问题,必须先解决。
4.3 第三步:全局安装 Claude Code——执行那条“魔法命令”
现在,万事俱备,只欠东风。执行这条命令,就是将 Claude Code 这个“AI编程助手”请进你电脑的正式仪式。
操作步骤:
- 在终端中,输入并回车:
npm install -g claude-code - 你将看到一长串滚动的日志,内容大致是:
这表示安装成功。整个过程可能需要 1-3 分钟,取决于你的网络速度和电脑性能。npm WARN deprecated ... (一些已弃用的依赖警告,可忽略) ... added 123 packages in 42s
这条命令背后发生了什么?
npm install:调用 npm 的安装模块。-g(global):指示 npm 将包安装到全局node_modules目录,而不是当前文件夹下的./node_modules。claude-code:这是包在 npm 仓库中的名字(package name)。npm 会去registry.npmmirror.com上查找这个包,下载其tarball(压缩包),解压,并根据其package.json文件进行安装。
安装成功后的关键验证:
安装完成后, 不要以为就结束了 。你必须验证 claude-code 命令是否真的被系统识别。
- 输入:
你应该看到类似claude-code --versionclaude-code/2.4.1 darwin-arm64 node-v18.20.2的输出。这证明claude-code的可执行文件已经被正确链接到了系统的PATH中。 - 如果
claude-code --version报错command not found,请不要慌。这通常意味着npm的全局bin目录没有被加入PATH。你需要手动找到它:- 在终端中执行
npm config get prefix,它会输出一个路径,比如C:\Users\<user>\AppData\Roaming\npm(Windows)或/Users/<user>/local(macOS)。 - 然后,将这个路径下的
bin子目录(Windows 是C:\Users\<user>\AppData\Roaming\npm,macOS 是/Users/<user>/local/bin)添加到你的PATH环境变量中。 - 添加后, 重启终端 ,再试
claude-code --version。
- 在终端中执行
4.4 第四步:首次运行与初始化——你的第一个 AI 编程对话
安装只是第一步,初始化才是让 Claude Code 真正“活”起来的关键。
操作步骤:
- 在终端中,输入:
这会启动一个交互式向导(interactive wizard)。claude-code init - 向导会首先询问你是否同意其隐私政策(Privacy Policy)和使用条款(Terms of Service)。请仔细阅读(尤其是关于代码上传和数据处理的部分),然后输入
y表示同意。 - 接着,它会要求你输入一个 API Key 。这是你访问 Claude 服务的“钥匙”。你需要:
- 访问
https://console.anthropic.com(Anthropic 官方控制台)。 - 注册或登录你的 Anthropic 账户。
- 在左侧菜单中,点击
API Keys->Create Key,为这个 key 命名(如claude-code-local),然后点击Create。 - 复制生成的 key(它以
sk-ant-api03-开头)。 - 回到终端,将这个 key 粘贴进去,按回车。
- 访问
- 向导会询问你希望 Claude Code 使用的默认模型(Model)。目前主流选项是
claude-3-haiku-20240307(最快、最便宜)或claude-3-sonnet-20240229(平衡)。对于初次体验,选择haiku即可。 - 向导完成后,它会在你的用户主目录下创建一个配置文件(通常是
~/.claude-code/config.json),里面保存了你的 API Key 和模型偏好。
初始化成功后的终极测试:
现在,让我们进行一次真正的对话,验证一切是否丝滑。
- 创建一个测试文件:
echo "console.log('Hello from Claude Code!');" > test.js - 运行:
你会看到 Claude Code 对这行 JavaScript 代码进行逐字逐句的解释,就像一个资深前端工程师在给你讲解一样。claude-code explain test.js
注意:
claude-code explain是一个非常实用的命令,它能帮你理解任何一段陌生的、甚至是自己写的“屎山”代码。这是它区别于普通 Chat UI 的核心价值——它能精准地锚定在你的本地文件上,进行上下文感知的分析。
5. 常见问题与排查技巧实录:那些让你抓狂的报错,我都替你踩过了
5.1 问题速查表:高频报错与一招制敌的解决方案
| 报错信息(精简版) | 根本原因 | 一招制敌的解决方案 | 为什么有效 |
|---|---|---|---|
'node' is not recognized as an internal or external command |
PATH 环境变量未包含 Node.js 安装路径 |
1. 重启所有终端窗口。 2. 运行 where node (Win)或 which node (Mac/Linux)确认路径。 3. 若无输出,手动将 C:\nodejs 或 /usr/local/bin 加入 PATH 。 |
PATH 是动态加载的,旧终端进程不会自动更新。 where/which 是最直接的诊断命令。 |
npm : 无法加载文件 ... npm.ps1, 因为在此系统上禁止运行脚本 |
PowerShell 执行策略为 Restricted |
以管理员身份打开 PowerShell,执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser ,然后按 Y 。 |
此命令将当前用户的执行策略放宽到允许运行来自可信源的脚本, npm.ps1 正属于此类。 |
Error: EACCES: permission denied, access '/usr/local/lib/node_modules' |
macOS/Linux 上, npm 全局安装目录权限不足 |
不要用 sudo ! 改用 npm config set prefix ~/.local ,然后将 ~/.local/bin 加入 PATH 。 |
sudo npm install -g 会污染系统目录,导致后续权限混乱。修改 prefix 是 npm 官方推荐的安全做法。 |
npm WARN using --force Recommended protections disabled. |
你在安装时加了 --force 参数 |
立即删除 --force 。它会强制覆盖所有依赖,极易导致版本冲突和功能异常。 |
--force 是“核武器”,只应在 npm 官方工程师指导下,针对特定、已知的 bug 使用。日常安装严禁使用。 |
error installing 24.16.0: node.js v24.16.0 is not yet released... |
你试图安装一个未来版本的 Node.js | 去 https://nodejs.org 下载最新的 LTS 版本(v18.x 或 v20.x), 不要下载 Current 版本 。 |
v24.x 是尚未发布的开发代号,官网的下载页面不会提供。这个错误通常源于你从非官方渠道下载了错误的安装包。 |
5.2 深度避坑:那些文档里不会写的“潜规则”
坑一:“npm install -g” 之后, claude-code 命令还是找不到,但 npx claude-code 却能用。
这是最让人困惑的现象之一。 npx 是 npm 5.2+ 内置的一个命令,它的作用是: 临时运行一个包,无需全局安装 。当你执行 npx claude-code ,npm 会先检查本地 node_modules ,没有就去下载一个临时副本,然后运行它。所以它能用,不代表 claude-code 已被正确全局安装。这恰恰说明你的全局 bin 目录没有被 PATH 识别。请务必按照 4.3 节的验证步骤,找到 npm config get prefix ,并将其 bin 目录加入 PATH 。 npx 只是“急救药”,不是“根治方案”。
坑二: claude-code init 时,API Key 输入后,向导卡住不动,或报 Network Error 。
这通常不是你的网络问题,而是 claude-code 的 CLI 工具在尝试连接 Anthropic 的 API 时,被你电脑上的 防火墙、杀毒软件或企业级网络代理 拦截了。解决方案是:
- 临时关闭 Windows Defender 防火墙(仅测试用)。
- 检查你的杀毒软件(如 360、腾讯电脑管家)是否启用了“网络防护”或“ARP 防护”,暂时禁用。
- 如果你在公司内网,很可能有代理服务器。此时,你需要为
claude-code设置代理:在init向导中,当它询问“Proxy URL”时,输入你的代理地址(如http://proxy.company.com:8080)。
坑三: claude-code chat 进入交互模式后,输入中文,AI 的回复全是乱码或英文。
这是终端的编码(Encoding)问题。Windows 的 CMD 默认是 GBK 编码,而 Claude Code 的输出是 UTF-8 。解决方案:
- 终极方案:换用 Windows Terminal。 它原生支持 UTF-8,且是微软官方出品,兼容性最好。
- 临时方案:在 CMD 中执行
chcp 65001。 这条命令会将 CMD 的活动代码页切换为 UTF-8。但每次新开 CMD 窗口都需要重新执行,非常麻烦。
个人体会:在我帮超过 200 位零基础学员搭建环境的过程中,90% 的问题都集中在
PATH和终端编码这两点上。它们不像代码 bug 那样有明确的报错行号,而是系统层面的“隐形障碍”。一旦你掌握了where node、echo $PATH、`chcp 650
更多推荐


所有评论(0)