/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}
解决Windows安装OpenClaw报错:无法加载npm.ps1,禁止运行脚本
问题现象
在Windows PowerShell中执行OpenClaw安装命令时,出现如下权限错误:
PS C:\\Users\\tangyuan> & ([scriptblock]::Create((iwr –useb https://openclaw.ai/install.ps1))) –Tag beta
OpenClaw Installer
[OK] Windows detected
[!] Node.js not found
[*] Installing Node.js...
# 省略Node.js安装成功日志
[OK] Node.js v24.14.0 found
[*] Installing OpenClaw (openclaw@beta)...
npm : 无法加载文件 C:\\Program Files\\nodejs\\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:290 字符: 22
+ $npmOutput = npm install –g "$packageName@$Tag" 2>&1
+ ~~~
+ CategoryInfo : SecurityError: (:) [],ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnauthorizedAccess
问题根源
该报错的核心原因是 Windows PowerShell的执行策略限制:
Windows默认启用严格的执行策略(默认值为Restricted),禁止运行任何未签名的PowerShell脚本,而npm的核心脚本npm.ps1属于未签名的本地脚本,因此被系统拦截。
解决方案(分步实操)
步骤1:以管理员身份打开PowerShell
步骤2:临时放宽执行策略(推荐)
在管理员权限的PowerShell中执行以下命令(仅当前会话生效,重启后恢复默认,安全无风险):
Set-ExecutionPolicy Bypass –Scope Process –Force
参数说明:
- -Scope Process:仅对当前PowerShell进程生效,不修改系统全局策略;
- -Force:跳过确认提示,直接执行。
步骤3:重新执行OpenClaw安装命令
在同一个管理员PowerShell窗口中,重新运行安装指令:
& ([scriptblock]::Create((iwr –useb https://openclaw.ai/install.ps1))) –Tag beta
可选:永久放宽执行策略(谨慎使用)
如果需要长期使用Node.js/npm,且确认环境安全,可将执行策略改为RemoteSigned(允许本地脚本运行,远程脚本需签名):
Set-ExecutionPolicy RemoteSigned –Scope CurrentUser –Force
注意:该命令对当前用户全局生效,仅建议在个人开发机使用,企业环境需遵循IT规范。
验证安装结果
安装完成后,执行以下命令验证OpenClaw是否成功安装:
openclaw —version
若输出类似 openclaw/x.x.x beta 的版本信息,说明安装成功。
常见问题排查
1. 执行Set-ExecutionPolicy提示「拒绝访问」
- 确认PowerShell是管理员身份运行;
- 企业环境可能通过组策略锁定执行策略,需联系IT管理员解除限制。
2. npm依然报错「无法加载脚本」
- 重启管理员权限的PowerShell后重试;
- 验证Node.js安装是否成功:node -v(正常输出v24.14.0即可);
- 手动检查npm路径:Get-Command npm(应指向C:\\Program Files\\nodejs\\npm.ps1)。
总结
扩展知识:PowerShell执行策略说明
| Restricted | 默认值,禁止运行任何脚本 |
| AllSigned | 仅允许运行已签名的脚本(本地/远程均需签名) |
| RemoteSigned | 本地脚本可运行,远程脚本需签名(推荐开发环境使用) |
| Unrestricted | 允许运行所有脚本(不推荐,有安全风险) |
| Bypass | 绕过所有执行策略限制(仅临时使用) |




