如何调整VSCode脚本执行策略以解决运行代码时无法加载文件的问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计728个文字,预计阅读时间需要3分钟。
这不是VSCode的bug,而是Windows PowerShell默认执行策略的限制。如果终端是PowerShell(VSCode Windows版默认就是),运行npm、yarn、vue、cnpm等命令,甚至本地.ps1或.py文件,都可能触发这个错误——只要路径不完全正确、文件不存在或路径拼写错误即可。确保路径完全正确、文件真实存在,即可避免此错误。
为什么Get-ExecutionPolicy返回Restricted却还是报错
关键在作用域。VSCode读取的是CurrentUser作用域的策略,不是全局或进程级的。即使你之前设过LocalMachine,只要CurrentUser仍是Undefined或Restricted,VSCode终端照样报错。
- 在VSCode终端里直接运行
Get-ExecutionPolicy -List,重点看CurrentUser那一行 -
Undefined表示该作用域没被显式设置,实际继承自更上层(通常是Restricted) - 只改
LocalMachine需要管理员权限,且企业环境常被组策略覆盖,无效 - 必须用
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,不需管理员,VSCode重启后也生效
改完策略后命令还是不认,是不是没生效
PowerShell进程不重启,新策略不加载。
本文共计728个文字,预计阅读时间需要3分钟。
这不是VSCode的bug,而是Windows PowerShell默认执行策略的限制。如果终端是PowerShell(VSCode Windows版默认就是),运行npm、yarn、vue、cnpm等命令,甚至本地.ps1或.py文件,都可能触发这个错误——只要路径不完全正确、文件不存在或路径拼写错误即可。确保路径完全正确、文件真实存在,即可避免此错误。
为什么Get-ExecutionPolicy返回Restricted却还是报错
关键在作用域。VSCode读取的是CurrentUser作用域的策略,不是全局或进程级的。即使你之前设过LocalMachine,只要CurrentUser仍是Undefined或Restricted,VSCode终端照样报错。
- 在VSCode终端里直接运行
Get-ExecutionPolicy -List,重点看CurrentUser那一行 -
Undefined表示该作用域没被显式设置,实际继承自更上层(通常是Restricted) - 只改
LocalMachine需要管理员权限,且企业环境常被组策略覆盖,无效 - 必须用
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,不需管理员,VSCode重启后也生效
改完策略后命令还是不认,是不是没生效
PowerShell进程不重启,新策略不加载。

