PowerShell:报错此系统上禁止运行脚本
前端通过webpack打包,执行webpack的时候,不能运行webpack.ps1脚本文件。
解决方案:
1. 退出当前的vs code,以管理员身份运行vscode;
2. 在PowerShell中输入执行:get-ExecutionPolicy,显示Restricted,表示状态是禁止的;
3. 再输入执行:set-ExecutionPolicy RemoteSigned;
4. 这时再执行get-ExecutionPolicy,就显示RemoteSigned;
原因:
PowerShell的执行策略有:
- Restricted 执行策略不允许任何脚本运行。
- AllSigned 和 RemoteSigned 执行策略可防止 Windows PowerShell 运行没有数字签名的脚本。
首次在计算机上启动 Windows PowerShell 时,PowerShell的现用执行策略很可能是 Restricted(默认设置)。
- 若要了解计算机上的现用执行策略,请输入:get-executionpolicy
- 若要在本地计算机上运行您编写的未签名脚本和来自其他用户的签名脚本,请输入以下命令将计算机上的 执行策略更改为 RemoteSigned:set-executionpolicy remotesigned
有关 Windows PowerShell 执行策略的详细信息,请参阅 about_Execution_Policy。