Openclaw/clawbot
用Windows自带的PowerShell运行指令
按照官方指引,在PowerShell里输入下面这行命令,就能开始安装流程:
iwr -useb https://openclaw.ai/install.ps1 | iex
不过,第一次安装就碰了壁,系统直接报错。它给出的提示,指向了微软的官方文档,大概是想让我去研究一下PowerShell的执行策略。
具体要查的是这个页面:
https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.5
简单来说,出于安全考虑,Windows默认会阻止运行远程脚本。翻完文档,解决方案很清晰:调整当前用户的执行策略。在PowerShell里依次执行下面三行命令:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Set-ExecutionPolicy AllSigned
Get-ExecutionPolicy -List
如果最后一条命令返回的结果类似下面这样,就意味着策略设置对了:
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser RemoteSigned
LocalMachine AllSigned
没问题了,那就再试一次,重新运行安装命令:
iwr -useb https://openclaw.ai/install.ps1 | iex
得,又来了一个新的报错。这次错误信息指向了Node.js和npm,提示找不到文件:
[*] Installing OpenClaw (openclaw@latest)...
node.exe : npm error code ENOENT
所在位置 行:1 字符: 1
+ & “C:\Program Files\nodejs/node.exe” “C:\Program Files\nodejs/node_mo ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (npm error code ENOENT:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
这种情况,社区里讨论得不少。核心原因往往是当前目录下缺少package.json这个关键的配置文件,脚本找不到正确的上下文来执行npm命令。很多经验分享都指向同一个简单的解决办法:先初始化一个项目。
于是,在当前的PowerShell路径下,输入这个命令:
npm init -y
这行命令会快速生成一个默认的package.json文件,为后续的npm操作铺平道路。完成之后,第三次执行安装命令:
iwr -useb https://openclaw.ai/install.ps1 | iex
回过头看,第二个问题的症结确实在于路径和项目配置。简单来说,脚本期望在一个有package.json的Node.js项目环境里运行,而我们直接在一个空目录执行,它当然会“迷路”。执行npm init -y创建一个默认的配置文件,就等于给了脚本一张明确的地图,问题自然迎刃而解。
