文章目錄
  1. 1. 情境
  2. 2. 解決方法

情境

今日要重新將 hexo 裝回電腦上時,遇到一些問題

hexo : 因為這個系統上已停用指令碼執行,所以無法載入 ...

在 vscode 上預設的終端機是 powershell

所以這問題跟 Windows 預設的 powershell 執行原則有關(預設為 Restricted)

PowerShell 有四種執行原則:

1
2
3
4
Restricted:所有 `PowerShell Script`(.ps1) 皆無法執行。(Windows系統預設)
AllSigned:所有 `PowerShell Script` 都要經過受信任的發行者簽屬過後才可執行。
RemoteSigned:針對從異地下載下來的 `PowerShell Script` 需要經過受信任的發行者簽屬過後才可執行,本機的 `PowerShell Script` 可直接執行。
Unrestricted:無限制,所有 `PowerShell Script `皆可執行。

所以其實只要改變設定就可以了

解決方法

開啟 PowerShell ISE

接著先用下列指令看看目前的執行原則是什麼

1
get-executionpolicy

確定是 Restricted 後,再來輸入以下指令,執行後會有視窗詢問,按下確定後就能將執行原則改為 Remotesigned

1
set-executionpolicy remotesigned

BUT!!!

凡事都有例外,如果遇到下列情形

只要將指令改為

1
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

就能成功執行囉!

文章目錄
  1. 1. 情境
  2. 2. 解決方法