执行vue -V报错 无法加载 ****\nodejs\vue.ps1 造成
PS C:\WINDOWS\system32> vue -v vue : 无法加载文件 d:\ProgramFiles\nodejs\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 http://go.microsoft .com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 + vue -v + ~~~ + CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess PS C:\WINDOWS\system32> get-ExecutionPolicy
关于执行策略 - PowerShell | Microsoft Docs
https://docs.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.2 看这里比较晕。
===
出现这个报错的原因:在电脑上启动 Windows PowerShell 时,执行策略极大可能是 Restricted(默认设置)。Restricted 策略不允许任何脚本运行,防止执行不信任的脚本。
PowerShell的4中执行策略:
名称 | 说明 |
---|---|
Restricted | 禁止运行任何脚本和配置文件(默认) |
AllSigned | 可以运行脚本,但要求所有脚本和配置文件由可信发布者签名,包括在本地计算机上编写的脚本 |
RemoteSigned | 可运行脚本,但要求从网络上下载的脚本和配置文件由可信发布者签名;不要求对已经运行和本地计算机编写的脚本进行数字签名 |
Unrestricted | 可以运行未签名的脚本 |
解决方法:
1、可以先执行下面命令,可以看到当前默认的执行策略是Restricted
get-ExecutionPolicy
PS E:\PRJs\Web\hanfu-mall> get-ExecutionPolicy Restricted PS E:\PRJs\Web\hanfu-mall> set-ExecutionPolicy RemoteSigned set-ExecutionPolicy : 对注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell”的访问被拒绝。 要更改默认(Loc alMachine)作用域的执行策略,请使用“以管理员身份运行”选项启动 Windows PowerShell。要更改当前用户的执行策略,请运行 "Set-ExecutionPolicy -Scope C urrentUser"。 所在位置 行:1 字符: 1 + set-ExecutionPolicy RemoteSigned + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : PermissionDenied: (:) [Set-ExecutionPolicy], UnauthorizedAccessException + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand PS E:\PRJs\Web\hanfu-mall> vue -v Usage: vue <command> [options]
2、修改策略为RemoteSigned,执行下面命令并选择Y即可
set-ExecutionPolicy RemoteSigned
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异