news 2026/10/9 11:01:00

Windows10 安装 openclaw 前,先把 npm、node.js 与 PowerShell 环境理顺

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows10 安装 openclaw 前,先把 npm、node.js 与 PowerShell 环境理顺

1. Windows10 装 openclaw 前,为什么环境准备比安装本身更折腾

如果你在 Windows10 上搜过 openclaw 安装教程,大概率会看到一堆「npm install -g openclaw@latest 一把梭」的说法。但真正动手的人会发现,卡住你的往往不是 openclaw 本身,而是它脚下那三层地基:Node.js 版本、npm 全局路径、PowerShell 执行策略。这三样任何一处不对,后面就是EPERM、无法加载文件 xxx.ps1、node 不是内部或外部命令轮番上阵。

openclaw(社区里叫「龙虾」)是一个本地部署的 AI 智能体框架,它需要通过 npm 全局安装,安装过程会调用 PowerShell 脚本、编译原生依赖、写入全局目录。这意味着它对环境的要求比普通前端项目更挑剔。Node.js 版本太低,原生模块编译不过;npm 全局路径带空格或权限不足,写入直接失败;PowerShell 执行策略是 Restricted,安装脚本根本跑不起来。

这篇内容聚焦的是「安装前」这一步,也就是把 node、npm、PowerShell 三件事理顺,并且逐条验证命令可用。适合谁看:在 Windows10 上第一次装 openclaw、被环境报错劝退过、或者装到一半发现命令找不到的人。我试过在一台全新的 Win10 机器上从零走一遍,把每一步的验证命令和踩坑点都记下来了,你可以直接照着做。

核心检索词先明确:Windows10 安装 openclaw 前的环境准备,重点是 node.js 版本选择、npm 全局路径配置、PowerShell 执行策略检查。这三件事做完,正式安装 openclaw 的成功率会高很多。

2. Node.js 与 npm 版本选择:openclaw 安装前的 node 版本要求与全局路径配置

openclaw 官方建议 Node.js LTS 版本 ≥ 22。这个数字不是随便写的,因为 openclaw 依赖的一些原生模块(比如 libsignal-node)需要较新的 V8 和 N-API 支持,Node 18 及以下在编译阶段就容易报node-gyp相关错误。所以第一步不是急着装 openclaw,而是先把 Node.js 版本确认到位。

2.1 下载与安装 Node.js LTS

去 Node.js 中文站下载 LTS 版本,地址是 https://nodejs.cn/en/download 。选 Windows Installer (.msi) 64-bit。安装过程中有一个关键勾选项:Add to PATH。这个必须勾上,否则装完之后在 PowerShell 里敲node会提示「不是内部或外部命令」。另外安装向导里有个「Automatically install the necessary tools」的选项,它会顺带装 Chocolatey 和 Python,如果你不想装额外东西可以跳过,但后面如果遇到 node-gyp 编译报错,可能还是得补 Python。

安装完成后,不要用旧的 CMD 窗口验证,因为 PATH 是安装时刷新的,旧窗口读不到新环境变量。重新开一个 PowerShell 或 CMD,执行:

node -v npm -v

正常应该输出类似v22.14.0和10.9.2这样的版本号。如果node -v有输出但npm -v报错,说明 npm 没随 Node 一起装好,建议卸载重装。

2.2 npm 全局路径检查与配置

npm 全局安装的包会放在一个「全局目录」里,openclaw 就装在这里。Windows 上默认路径通常是C:\Users\你的用户名\AppData\Roaming\npm。这个路径本身没问题,但有两个隐患:一是用户名带中文或空格时容易出问题,二是权限不足时写入失败。

先查看当前配置:

npm config get prefix npm root -g

prefix是全局安装的可执行文件目录,root -g是全局模块的实际存放目录。确认prefix对应的目录在你的用户目录下,并且你有完全控制权限。如果想把全局目录改到一个更干净的位置(比如避免中文路径),可以这样设置:

npm config set prefix "C:\nodejs\npm-global"

设置完之后,需要把这个新路径加到系统环境变量 PATH 里,否则全局安装的命令行工具(包括 openclaw)还是找不到。手动加 PATH 的步骤:Win + S 搜「环境变量」→ 编辑系统环境变量 → 环境变量 → 在用户变量的 Path 里新增一行C:\nodejs\npm-global。改完重开 PowerShell 生效。

2.3 切换 npm 镜像加速

国内直连 npm 官方源下载 openclaw 及其依赖会很慢,甚至超时。切换镜像:

npm config set registry https://registry.npmmirror.com/ npm config set electron_mirror https://npmmirror.com/mirrors/electron/

验证镜像是否生效:

npm config get registry

应该输出https://registry.npmmirror.com/。这一步做完,后面安装 openclaw 的下载速度会明显改善。

2.4 补充:VC++ 运行库

openclaw 的部分原生依赖在 Windows 上编译时需要微软 VC++ 运行库。如果缺失,安装时会报MSB3428或vcbuild.exe not found之类的错误。提前装好 VC++ 2015-2022 x64 版本,下载地址在微软官方文档页:https://learn.microsoft.com/zh-CN/cpp/windows/latest-supported-vc-redist?view=msvc-170 。装完不用重启,但建议重开 PowerShell。

3. PowerShell 执行策略与 openclaw 安装脚本配置片段

openclaw 的安装和初始化过程会执行 PowerShell 脚本(比如openclaw onboard --install-daemon会注册守护进程)。Windows 默认的执行策略是Restricted,意思是「任何脚本都不许跑」,这时候你会看到红色报错:无法加载文件 xxx.ps1,因为在此系统上禁止运行脚本。所以安装前必须把执行策略调成RemoteSigned。

3.1 以管理员身份打开 PowerShell

两种方式:Win + X 然后选「Windows PowerShell (管理员)」,或者搜 PowerShell 右键「以管理员身份运行」。注意,改执行策略和后面装全局包,都建议在管理员窗口里做,避免权限不足。

3.2 设置执行策略

在管理员 PowerShell 里执行:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

提示确认时输入Y回车。RemoteSigned的含义是:本地写的脚本可以直接跑,从网上下载的脚本需要有数字签名。这个策略比Unrestricted安全,又比Restricted实用,是开发机的常规选择。

验证当前策略:

Get-ExecutionPolicy -Scope CurrentUser

应该输出RemoteSigned。如果输出还是Restricted,说明设置没生效,检查是不是在正确的 Scope 下设置的。

3.3 Git 全局配置(openclaw 依赖拉取用)

openclaw 安装过程中会从 GitHub 拉取依赖(比如 libsignal-node 的 tar 包)。如果你的网络环境对 git 协议不友好,可以配置 git 用 https 替代 ssh:

git config --global url."https://github.com/".insteadOf ssh://git@github.com/ git config --global url."https://github.com/".insteadOf git@github.com:

这两条命令的作用是:当 git 遇到ssh://git@github.com/或git@github.com:开头的地址时,自动替换成 https 形式。这样就不需要配置 SSH key,直接用 https 拉取。

3.4 可复制的 settings 配置片段

如果你习惯用配置文件管理,可以把 npm 相关配置写进.npmrc。文件位置在用户目录下:C:\Users\你的用户名\.npmrc。内容如下:

registry=https://registry.npmmirror.com/ electron_mirror=https://npmmirror.com/mirrors/electron/ strict-ssl=true prefix=C:\Users\你的用户名\AppData\Roaming\npm

注意prefix这一行如果你没改过全局路径,就保持默认;改过的话写你改后的路径。strict-ssl建议保持true,除非你确实遇到 SSL 证书问题再临时关掉,关掉会降低安全性。

如果你用的是 Cline MCP 或 Claude Code 这类工具来辅助开发,它们的配置里也需要填 Base URL、Key、Model ID 三件套。以 Cline 的 MCP 配置为例,JSON 片段长这样:

{ "mcpServers": { "taotoken": { "url": "https://taotoken.net/api", "apiKey": "你的API Key", "model": "claude-sonnet-4-20250514" } } }

这里的 Base URL 用https://taotoken.net/api,Key 在控制台生成,Model ID 按你实际要用的模型填。这三样缺一不可,少一个就会报 401 或 model not found。

4. 逐条验证:node、npm、openclaw 命令是否可用

环境配置完,不要急着装 openclaw,先把基础命令逐条验证一遍。这一步能帮你提前发现 80% 的环境问题。

4.1 验证 node 和 npm

node -v npm -v where.exe node where.exe npm

前两条输出正常版本号。where.exe会列出命令的实际路径,确认它们指向你刚装的 Node.js 目录,而不是系统里残留的旧版本。如果where.exe node输出多个路径,说明 PATH 里有多个 Node,需要清理掉旧的。

4.2 验证 npm 全局目录可写

npm root -g

记下输出的路径,然后手动往这个目录里写一个测试文件:

echo "test" > "$(npm root -g)\test.txt"

如果没报权限错误,说明全局目录可写。删掉测试文件:

Remove-Item "$(npm root -g)\test.txt"

4.3 验证 PowerShell 脚本可执行

创建一个测试脚本:

echo 'Write-Host "PowerShell OK"' > test.ps1 .\test.ps1

如果输出PowerShell OK,说明执行策略没问题。删掉脚本:

Remove-Item test.ps1

4.4 验证 openclaw 命令(安装后)

如果你已经装完 openclaw,验证命令是:

openclaw --version

正常输出类似2026.3.13。如果报「不是内部或外部命令」,说明 npm 全局目录不在 PATH 里,回到 2.2 节检查 PATH 配置。

再验证网关能否启动:

openclaw gateway --port 18789 --allow-unconfigured

看到类似下面的输出,说明网关启动成功:

OpenClaw 2026.3.13 (61d171a) — Your config is valid, your assumptions are not. Gateway listening on http://0.0.0.0:18789 UI available at http://localhost:18789

浏览器访问http://localhost:18789能看到管理面板,就说明环境完全通了。

4.5 验证模型接入(可选)

如果你打算用 TaoToken 接入模型,可以在 openclaw 的配置里填 Base URL 和 Key。模型对话功能可以先在 https://taotoken.net/api-keys 生成 Key,然后在 https://taotoken.net/doc 查接入文档。验证模型是否通,可以用模型对话页面发一条测试消息,看是否正常返回。

5. 本篇常见错排查:401、local proxy failed、reading choices、OAuth

环境准备阶段和安装阶段,最常见的报错就那么几个。下面按报错原文对照排查。

5.1401 Unauthorized

这个报错通常出现在模型接入环节,不是 openclaw 安装本身的问题。原因是你填的 API Key 无效、过期,或者 Base URL 填错了。排查步骤:确认 Key 是从控制台生成的,没有多余空格;确认 Base URL 是https://taotoken.net/api,不要多加斜杠或路径;确认 Model ID 拼写正确。三件套(Base URL + Key + Model ID)任何一个不对都会 401。

5.2local proxy failed或proxy error

这个报错说明你的网络请求经过了一个本地代理,但代理没起来或配置不对。排查:检查系统代理设置是否开启了一个不存在的端口;检查 npm 的 proxy 配置:

npm config get proxy npm config get https-proxy

如果输出不是null,说明设了代理,用npm config delete proxy和npm config delete https-proxy删掉。openclaw 安装不需要额外代理,直连镜像源即可。

5.3Cannot read properties of undefined (reading 'choices')

这个报错通常出现在调用模型 API 时,返回结构不符合预期。原因可能是 Base URL 指向了一个不兼容 OpenAI 格式的端点,或者 Model ID 填了一个不存在的模型。排查:确认 Base URL 是https://taotoken.net/api;确认 Model ID 是平台支持的模型名;用 curl 直接测一下接口:

curl -X POST https://taotoken.net/api/v1/chat/completions -H "Authorization: Bearer 你的Key" -H "Content-Type: application/json" -d "{\"model\":\"claude-sonnet-4-20250514\",\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}]}"

如果 curl 返回正常 JSON,说明接口没问题,是 openclaw 配置里的字段填错了。

5.4OAuth相关报错

如果你用的是 Claude Code 或 Codex 这类需要 OAuth 的工具,可能会遇到OAuth token expired或OAuth callback failed。排查:重新走一遍授权流程;确认回调地址没有被防火墙拦截;如果用的是 Codex 的auth.json,检查文件里的 token 是否过期。Codex 的auth.json通常放在C:\Users\你的用户名\.codex\auth.json,里面的字段包括access_token、refresh_token等,过期后需要重新登录生成。

5.5EPERM: operation not permitted

这是 Windows 上 npm 全局安装的经典报错,原因是文件被占用或权限不足。排查:关闭所有 PowerShell、CMD、VS Code、浏览器窗口;打开任务管理器结束所有node.exe和npm.exe进程;用管理员权限重置 npm 目录权限:

icacls "C:\Users\你的用户名\AppData\Roaming\npm" /grant "你的用户名:F" /t /c

然后重新安装。

5.6无法加载文件 xxx.ps1,因为在此系统上禁止运行脚本

这就是执行策略没改。回到第 3 节,用管理员 PowerShell 执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser。

6. 环境理顺之后:openclaw 安装与模型接入的下一步

环境准备做完,node、npm、PowerShell 三样都验证通过,接下来才是正式安装 openclaw。安装命令本身不复杂:

npm cache clean --force npm install -g openclaw@latest openclaw onboard --install-daemon

但这一步能不能顺利,完全取决于前面环境有没有理顺。Node 版本够、全局目录可写、执行策略放开,这三条满足了,安装基本一把过。

装完之后,如果你要用模型能力,需要接入 API。TaoToken 的接入文档在 https://taotoken.net/doc ,API Key 在 https://taotoken.net/api-keys 生成,模型对话测试页在 https://taotoken.net/chat 。长期跑编码任务或 Agent 的话,可以看 Coding Plan:https://taotoken.net/coding-plan 。

最后说一个实际经验:Windows 上装 openclaw,最容易忽略的是「重开 PowerShell」这件事。改完 PATH、改完执行策略、装完 Node,都要重开窗口才生效。很多人卡在「明明装了却找不到命令」,就是因为还在用旧窗口。环境准备这件事,慢就是快,逐条验证比事后排错省时间。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/9 11:00:04

Kubernetes故障排查实战:从CrashLoopBackOff到etcd抢救

简介:本资源是一份面向Kubernetes运维工程师与云原生初学者的实战型故障排查笔记,系统梳理k8s集群中连接异常、网络通信异常、节点内部异常及应用层异常四大类典型问题,覆盖Pod状态卡在ContainerCreating/Pending/ImagePullBackOff等高频场景…

作者头像 李华
网站建设 2026/10/9 10:59:09

NDCG详解:从手算到Python实现的排序评估指南

这两年我一直在和排序模型打交道,无论搜索还是推荐,离线评估都避不开一个指标:NDCG,也就是归一化折损累积增益(Normalized Discounted Cumulative Gain)。刚开始我只会在评测脚本里调一个现成函数&#xff…

作者头像 李华
网站建设 2026/10/9 10:58:01

MySQL子查询实战:四类用法、性能分析与避坑指南

1. 子查询解决的业务问题和它的执行直觉1.1 同一个需求,三次查询与一条SQL的差别带新人的时候,我经常用这样一个需求开场:查出工资高于公司平均工资的所有员工。让新人先用三条SQL做,写出来大概是这样的:SELECT AVG(sa…

作者头像 李华
网站建设 2026/10/9 10:57:53

iOS App技术支持网址(URL)配置全解析:从上架到用户支持

做过iOS开发或者上架过App的朋友,应该都有过这种经历:App做得差不多了,准备提审前检查一圈,发现苹果要求填“技术支持网址(URL)”,或者用户已经在用你的App了,遇到问题想找人反馈,翻遍App找不到…

作者头像 李华
网站建设 2026/10/9 10:57:38

CTF安卓逆向入门:静态分析与动态调试实战指南

简介:这份PDF面向CTF竞赛入门与进阶选手,聚焦Android移动端逆向分析这一高频考点,帮助读者建立从APK反编译到漏洞定位的完整解题思路。内容以APKToolBOX与jadx两款工具为主线,串联Android应用逆向工程、Java字节码还原、应用安全测…

作者头像 李华
网站建设 2026/10/9 10:57:24

LDA主题模型在医疗政策文本挖掘中的应用:从预处理到热点演化

简介:基于LDA模型的医疗信息化政策主题提取与热点分析PDF文档,面向医疗卫生政策研究者、情报分析人员及高校相关专业师生,可用于学习如何从大量政策文本中识别核心主题与演变趋势。文档以“十一五”至“十三五”期间417份国家层面医疗信息化政…

作者头像 李华