現象:
用powershell作爲命令行工具,嘗試使用thinkjs,安裝完think-cli後檢測運行版本(thinkjs -V)時,遇到了以後問題:
快速解決:
通過管理員模式打開powershell,然後輸入:
set-executionpolicy RemoteSigned
然後輸入A全是,等待運行即可。
(不需要深入瞭解到此爲止,不用看下文)
原因:
當前powershell執行策略無法運行腳本
powershell有四種執行策略:
- Restricted 禁止運行任何腳本和配置文件(默認)
- AllSigned 可以運行腳本,但要求所有腳本和配置文件由可信發佈者簽名,包括在本地計算機上編寫的腳本
- RemoteSigned 可運行腳本,但要求從網絡上下載的腳本和配置文件由可信發佈者簽名;不要求對已經運行和本地計算機編寫的腳本進行數字簽名
- Unrestricted 可以運行未簽名的腳本
解決方案:
1.換CMD
這比較無腦,不建議,不優雅(但是可以用)。
2.更換設置系統策略
a. 查看powershell當前策略
通過get-executionpolicy
可以獲取當前系統策略
出現這個問題是因爲系統默認執行策略爲Restricted
b.使用管理員模式打開powershell
c.重新設置powershell策略
顯然由上,我們可以看到,只需要修改策略就可以,根據描述我們可以將其修改爲RemoteSigned
修改的命令是:set-executionpolicy 策略名
在這裏直接調用set-executionpolicy RemoteSigned
即可
d.再次檢測當前策略
get-executionpolicy
可見已經被修改,可以繼續之前的操作了。