问题描述
在初次使用Webpack打包的时候 输入指令 出现如下提示:
webpack : 无法加载文件 C:\Users\A\AppData\Roaming\npm\webpack.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ webpack ./xxx/xxx.js ./xxx/xxx.js
+ ~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
原因
powershell对于脚本的执行有着严格的安全限制 默认是不载入配置文件的 因而报错
可使用Set-ExecutionPolicy
指令来修改PowerShell中执行策略的用户首选项
共有四个权限等级可选择:
- Restricted:不载入配置文件 不执行脚本【默认该权限等级】
- AllSigned:所有配置文件和脚本必须通过信任的出版商签名 这里的脚本页包括在本地计算机上创建的脚本
- RemoteSigned:所有从互联网上下载的脚本必须通过信任的出版商签名
- Unrestricted:载入所有的配置文件和脚本
如果运行了一个从互联网上下载且没有数字签名的脚本 在执行前会提示是否执行
解决方法
- 1、以管理员权限打开PowerShell
- 2、输入
Set-ExecutionPolicy RemoteSigned
命令 将脚本执行权限修改为RemoteSigned - 3、输入Y以确认