VS Code运行sanity start报错脚本被禁用无法启动如何解决
报错原因
该报错与Sanity项目本身无关,是Windows系统PowerShell的默认执行策略拦截了脚本运行:默认状态下PowerShell会禁止执行所有未经过可信签名的本地脚本,全局安装的Sanity CLI启动脚本属于被拦截的范畴,因此执行sanity start时会抛出对应错误。
解决步骤
- 关闭当前VS Code窗口,在系统开始菜单搜索「PowerShell」,右键选择「以管理员身份运行」,打开管理员权限的PowerShell窗口。
- 先查询当前系统的执行策略,在窗口中输入以下命令后按回车:
如果返回结果为Get-ExecutionPolicyRestricted,说明确实是执行策略限制导致的问题。 - 为当前用户设置安全的脚本执行权限,输入以下命令后按回车:
命令执行后会弹出确认提示,输入Set-ExecutionPolicy RemoteSigned -Scope CurrentUserY按回车确认即可。该配置仅允许本地创建/安装的脚本直接运行,从网络下载的脚本仍需要可信签名才能执行,不会带来过高的安全风险,不要为了省事直接设置为Unrestricted,会放开所有脚本执行权限,存在安全隐患。 - 再次执行
Get-ExecutionPolicy命令,确认返回结果为RemoteSigned即代表配置生效。 - 重新打开VS Code进入Sanity项目目录,新开终端窗口后再次执行
sanity start命令即可正常启动项目。
如果临时不想修改系统执行策略,也可以在VS Code终端里先执行
powershell -ExecutionPolicy Bypass临时绕过当前终端的脚本限制,再执行sanity start,但该配置仅对当前打开的终端窗口生效,关掉终端后就会恢复默认限制。
内容的提问来源于stack exchange,提问作者Gothictales
相关产品推荐
相关产品推荐

