這是我 2020 的第一篇文章非凌,在此之前我多說幾句,希望早日戰(zhàn)“疫”成功并蝗,中國加油秸妥!大家出門一定要帶好口罩沃粗,安全第一!W钪选!
1. 什么是PowerShell 咏删?
我簡單理解為運行腳本的環(huán)境吧问词。
有興趣可以看看《Windows PowerShell是啥?》
安裝過程可以參考《Powershell 安裝》
2. 問題描述:
在我的項目里我想使用 yarn 命令進行裝包辰狡,發(fā)現(xiàn)竟然出現(xiàn)了以下問題垄分?
一直裝包都是這樣的呀,咋出現(xiàn)這個問題咧薄湿,秉著“遇問題不慌不忙不躲避”
原則碘菜,我來仔細研究研究講著啥俱济?
3. 出現(xiàn)原因:
根據(jù)報錯顯示妈橄,我們知道這和 Power Shell 的 execute policy
相關(guān)宵晚,可以參考官方文檔《Set-ExecutionPolicy》詳細了解瞻赶。
4. 命令:
1. 查看執(zhí)行策略:Get-ExecutionPolicy
-
運行:
返回:
執(zhí)行策略 | 解釋 |
---|---|
AllSigned | 可以執(zhí)行有數(shù)字簽名(可信任的出版商)的腳本和配置文件派任,包括本地腳本掌逛。 |
Bypass | 執(zhí)行腳本無任何阻攔和警告司倚。 |
Default | 默認,windows 客戶端為 ‘Restricted’动知,windows 服務器端為‘RemoteSigned’ |
RemoteSigned | 執(zhí)行從 Internet 上下載的可信任出版商的腳本和配置文件。是 windows 服務器默認執(zhí)行策略鸵鸥。 |
Restricted | 不加載配置文件和運行腳本丹皱。是window 客戶端的默認執(zhí)行策略。 |
Undefined | 未設置執(zhí)行策略的范圍摊崭。 |
Unrestricted | 從PowerShell 6.0 中呢簸,這是默認的執(zhí)行策略「保可以加載任何配置文件和腳本。如果加載未受信任的文件耸彪,需要允許后才能運行忘苛。 |
很明顯,在我的電腦中執(zhí)行策略為 AllSigned扎唾,所以沒有辦法運行從網(wǎng)絡上下載的命令。將其更改為 RemoteSigned荧呐。
2. 設置執(zhí)行策略:Set-ExecutionPolicy RemoteSigned
-
運行:
- 返回:
根據(jù)提示,直接選擇了 y
按理說到這里概疆,應該結(jié)束峰搪,并且可以運行腳本了,但是根據(jù)我的運行結(jié)果概耻,我發(fā)現(xiàn)這邊還是沒有修改成功。
3. 查看執(zhí)行策略列表:Get-ExecutionPolicy -list
-
運行:
發(fā)現(xiàn)了侦高,CurrentUser 的執(zhí)行策略沒有修改掉矫膨。
4. 具體設置某個scope 的執(zhí)行策略: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
-
運行: