錯誤:#
PS F:\CODE\Vue\vue-youtube-test> npm install -g serve
已變更 89 個套件,花費 6 秒
PS F:\CODE\Vue\vue-youtube-test> serve -s dist
serve : 無法載入檔案 F:\Program\nodejs\serve.ps1,因為在此系統上禁止執行指令碼。如需詳細資訊,請參閱 https:/go.microsof
t.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
位於 位置 行:1 字元: 1
+ serve -s dist
+ ~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS F:\CODE\Vue\vue-youtube-test>
這個錯誤訊息表示您的 PowerShell 環境中的執行策略設定阻止了 serve.ps1
指令碼的執行。PowerShell 有一個名為「執行策略」的安全功能,用於控制 PowerShell 指令碼的執行。這個錯誤通常發生在嘗試執行一個指令碼,但系統的執行策略設定為阻止未簽名或未經驗證的指令碼運行時。
解決方案#
-
變更執行策略(建議僅對當前會話進行變更,以避免潛在的安全風險):
開啟以系統管理員權限運行的 PowerShell 視窗,然後執行下面的命令來暫時改變執行策略,允許指令碼運行:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
這個命令將只對當前 PowerShell 會話變更執行策略。關閉視窗後,策略將重置為預設值。
-
全域變更執行策略(不建議,除非您知道自己在做什麼):
如果您需要一個長期的解決方案,可以變更全域執行策略,但這可能會增加安全風險。同樣地,需要以系統管理員權限開啟 PowerShell,然後執行:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
這將允許執行本地的指令碼和執行從網路下載的已簽名指令碼。
注意#
變更執行策略可能會使您的系統對惡意指令碼更加脆弱。請始終確保您下載的指令碼來自可信任的來源,並了解變更執行策略可能帶來的安全風險。如果您不確定,建議選擇暫時變更執行策略的方法,或尋找不需要變更執行策略的解決方案。