故障排查
OpenClaw Windows 安装报错:无法加载脚本 / 执行策略限制 解决方法
在 Windows PowerShell 中安装 OpenClaw 时遇到脚本被禁止运行的错误?这是 PowerShell 的执行策略默认设置,不是 OpenClaw 的 bug。一条命令即可解决。
报错现象
在 Windows PowerShell 中运行 OpenClaw 安装命令或任何 npm 命令时,可能会看到如下报错:
npm.ps1 cannot be loaded because running scripts is disabled on this system.
For more information, see about_execution_policies at
https:/go.microsoft.com/fwlink/?LinkID=135170.触发此错误的常见场景包括:
- 运行 OpenClaw 官方安装命令:
iwr -useb https://openclaw.ai/install.ps1 | iex - 安装完 Node.js 后首次运行
npm install、npx等任何 npm 相关命令 - 在 PowerShell 中直接执行任何
.ps1脚本文件
原因说明
这是 Windows PowerShell 的安全机制 —— 执行策略(ExecutionPolicy)在起作用。Windows 默认将执行策略设置为 Restricted,完全禁止运行任何 PowerShell 脚本(包括 npm 自带的 npm.ps1 启动脚本)。
执行策略的存在是为了防止恶意脚本在用户不知情的情况下运行。这是系统层面的保护, 与 OpenClaw 本身无关,也不代表你下载的安装包有问题。
npm 之所以也会触发这个错误,是因为 npm 在 Windows 上通过一个叫 npm.ps1 的 PowerShell 脚本来启动,而不是直接的 .exe 文件。只要执行策略 是 Restricted,任何 .ps1 脚本都无法运行,自然包括 npm。
解决方法
方法一:仅对当前会话解除限制(推荐)
这是最安全的做法。在 PowerShell 窗口中运行以下命令,仅对当前打开的这个会话临时放开执行策略, 关闭窗口后自动恢复默认:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass命令执行后无需重启,直接在同一个 PowerShell 窗口中重新运行你的 OpenClaw 安装命令即可:
iwr -useb https://openclaw.ai/install.ps1 | iex方法二:对当前用户持久生效
如果你希望以后每次打开 PowerShell 都不用重新设置,可以将当前用户的执行策略改为 RemoteSigned。这允许运行本地脚本,但从网络下载的脚本必须有数字签名才能执行:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSignedPowerShell 会提示你确认,输入 Y 回车即可。这个设置只影响你自己的用户账户, 不影响其他用户或系统整体策略。
方法三:以管理员身份运行 PowerShell
部分情况下,当前用户的执行策略修改会被系统级策略覆盖。此时需要以管理员身份运行 PowerShell:
- 按
Win + X,选择「Windows PowerShell(管理员)」或「终端(管理员)」 - 在弹出的 UAC 确认框中点击「是」
- 在管理员 PowerShell 中运行方法一或方法二的命令,然后再执行安装
方法四:确认 npm 触发原因及验证
完成上述任意一种方法后,可以用以下命令验证执行策略是否已生效:
Get-ExecutionPolicy -List输出中 Process 一行显示 Bypass(方法一)或 CurrentUser 一行显示 RemoteSigned(方法二)即表示设置成功。 此后 npm 命令和 OpenClaw 安装脚本均可正常运行。
不需要切换到 Git Bash 或 WSL
你可能在网上看到有人建议「换用 Git Bash」或「切换到 WSL」来绕过这个问题。这些方法确实可行, 但并非必要。按照上述方法放开 PowerShell 执行策略后,直接在 PowerShell 中安装和使用 OpenClaw 完全没问题,无需额外安装 Git Bash 或配置 WSL。
WSL(Windows Subsystem for Linux)是另一种在 Windows 上运行 OpenClaw 的方式, 适合熟悉 Linux 环境的用户,但如果你只是想在 Windows 本地快速安装 OpenClaw, PowerShell + 执行策略修改是最直接的路径。
安全注意事项
在修改执行策略时,请注意以下安全原则,避免不必要的风险:
- 使用
-Scope Process(当前会话)或-Scope CurrentUser(当前用户) 来限定范围,不要使用-Scope LocalMachine修改机器级别策略 - 不要将执行策略设置为
Unrestricted—— 这会允许运行任何来源的脚本,包括未经签名的网络脚本,存在安全隐患 RemoteSigned是推荐的持久设置:本地脚本可随意运行,从网络下载的脚本需要数字签名- 只从 OpenClaw 官方渠道(openclaw.ai)下载安装脚本,不要执行来历不明的 ps1 文件
常见问题(FAQ)
设置执行策略后重启电脑会失效吗?
取决于你使用的范围。-Scope Process 是临时的,关闭 PowerShell 窗口后即失效, 重启电脑后当然也需要重新设置。-Scope CurrentUser 是持久的,保存在注册表中, 重启电脑后依然有效,无需重复设置。
为什么 cmd(命令提示符)没有这个问题?
Windows 的 cmd 使用 .bat 或 .cmd 脚本,不受 PowerShell 执行策略限制。但 npm 在 PowerShell 中会优先调用 npm.ps1,在 cmd 中会调用 npm.cmd,所以同样的 npm 命令在 cmd 中通常不受此问题影响。如果你习惯使用 cmd,也可以直接在 cmd 中运行 OpenClaw 安装命令。
修改执行策略会影响系统安全吗?
使用 -Scope CurrentUser -ExecutionPolicy RemoteSigned 对系统安全影响极小。 它只允许运行本地脚本和有数字签名的远程脚本,不允许运行未签名的远程脚本。 这是微软在 Windows 10/11 上对开发者推荐的默认设置之一,被广泛采用。
除了执行策略问题,OpenClaw Windows 安装还有哪些常见坑?
解决执行策略问题后,Windows 安装 OpenClaw 的另一个常见问题是 Node.js 版本过低。 OpenClaw 要求 Node.js 18 或以上版本。可以运行 node -v 查看当前版本, 如果版本过低,前往 nodejs.org 下载最新 LTS 版本重新安装即可。 此外,如果你想省去所有本地安装烦恼,也可以直接使用 OpenClaw Launch 托管部署,无需在本地安装任何环境。