PowerShell 执行策略限制:
VS Code 默认集成终端可能使用 PowerShell(而非 cmd),而 PowerShell 默认阻止运行未经签名的脚本(如 npm.ps1)。
系统终端无此限制:
系统终端(如 cmd)不受 PowerShell 策略影响,因此能正常运行 npm run dev。
解决方法
方法 1:修改 PowerShell 执行策略(推荐)
以管理员身份打开 PowerShell:
右键点击“开始菜单” → 选择 Windows PowerShell (管理员)。
查看当前执行策略:
Get-ExecutionPolicy
若返回 Restricted,表示禁止运行脚本。
修改执行策略为 RemoteSigned:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
RemoteSigned:允许运行本地脚本,远程脚本需签名(安全性与灵活性平衡)。
输入 Y 确认更改。
重启 VS Code:
关闭并重新打开 VS Code,再次运行 npm run dev。
方法 2:临时绕过执行策略(仅限当前会话)
在 VS Code 的终端中运行以下命令(无需管理员权限):
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
效果:仅当前 PowerShell 进程允许运行脚本,关闭终端后恢复默认策略。
适用场景:临时测试或不想永久修改策略。