这是 Windows PowerShell 执行策略(Execution Policy) 导致的,不是 opencode 本身的问题。
简单说:系统默认禁止运行 .ps1脚本,而你调用的 opencode实际上是一个 PowerShell 脚本。
最推荐、最安全的解决办法(当前窗口生效)
在 当前 PowerShell 窗口 执行:
Set-ExecutionPolicy -Scope Process RemoteSigned
特点:
只对当前窗口有效
关闭窗口后自动失效
不影响系统安全策略
👉 强烈推荐
永久解决(不太推荐,除非你经常用 PS 脚本)
如果你希望以后都不再弹这个错误:
powershell
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
验证:
powershell
Get-ExecutionPolicy -List
🚫 不推荐的方式
❌ Set-ExecutionPolicy Unrestricted
❌ Set-ExecutionPolicy Bypass
这些会降低系统安全性。
替代方案(不用改策略)
方法 1:用 CMD 而不是 PowerShell
直接打开 命令提示符(cmd),再运行:
cmd
opencode --port 58389
✅ CMD 不受 PowerShell 执行策略限制。
方法 2:用 Node 直接跑(如果 opencode 是 npm 包)
powershell
npx opencode --port 58389
📌 为什么会这样?
C:\nvm4w\nodejs\opencode.ps1是一个 PowerShell 包装脚本
Windows 默认:
禁止运行 .ps1
防止恶意脚本自动执行
|