問題描述
在初次使用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以確認