這是因為 Windows PowerShell 出於安全考量,預設限制了執行腳本(.ps1 檔案)的權限。要解決這個問題,你需要調整執行原則。
你可以依照以下步驟快速修復:
1. 以管理員身分執行 PowerShell
在開始功能表搜尋 PowerShell,按右鍵選擇 以管理員身分執行。這是修改系統原則的必要權限。
2. 修改執行原則
在開啟的視窗中,輸入以下指令並按下 Enter:
PowerShell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
系統會詢問你是否確定要更改,請輸入 Y 然後按 Enter。
- RemoteSigned 的意思是:你自己寫的腳本可以直接執行,但從網路上抓下來的腳本(例如 npm)必須要有數位簽章才能執行。這是一個兼顧安全與便利的平衡點。
3. 驗證設定
設定完成後,輸入以下指令確認狀態:
PowerShell
Get-ExecutionPolicy
如果顯示 RemoteSigned,代表設定成功。
4. 重新測試 npm
現在回到你原本的目錄 ,重新輸入 npm。它應該就能正常運作,不再跳出安全性錯誤。
補充建議:
如果你不想修改全域設定,也可以在當前的終端機視窗(不需管理員權限)輸入以下指令,這只會對「目前這個視窗」有效:
PowerShell
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process