PowerShell执行npm等命令报错是因默认执行策略限制,需将ExecutionPolicy设为RemoteSigned:当前用户执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser(推荐),或管理员运行Set-ExecutionPolicy RemoteSigned -Scope LocalMachine,之后重启终端验证。

Win10中执行npm、create-react-app、webpack等命令时,PowerShell报“无法加载文件…因为在此系统上禁止运行脚本”,本质是Windows PowerShell默认启用执行策略限制,阻止所有未签名的本地脚本运行——而npm全局安装的CLI工具(如create-react-app.ps1)正是PowerShell可执行脚本,不是CMD下的.exe或.bat。
确认当前执行策略状态
以管理员身份打开Windows PowerShell → 输入get-ExecutionPolicy → 回车查看返回值。若显示Restricted或AllSigned,即为问题根源;RemoteSigned或Unrestricted则通常可正常运行。
修改执行策略(推荐两种作用域)
方法一:仅对当前用户生效(无需管理员权限,更安全)
以普通用户身份打开PowerShell → 执行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
→ 系统提示时输入Y或A确认 → 再次运行get-ExecutionPolicy -Scope CurrentUser验证是否已变为RemoteSigned。
方法二:对本地计算机全局生效(需管理员权限)
右键“Windows PowerShell” → 选择“以管理员身份运行” → 输入:
Set-ExecutionPolicy RemoteSigned -Scope LocalMachine
→ 提示时务必选A(全部是),不能只按Y——【按Y只会应用到当前会话,重启后失效】 → 运行get-ExecutionPolicy确认结果为RemoteSigned。
验证是否修复成功
关闭所有已打开的PowerShell和VS Code终端窗口 → 全新打开一个PowerShell → 直接运行npm -v或create-react-app --version。
若能正常输出版本号,且不再弹出“无法加载文件”的安全错误,说明策略已生效。这一步必须重启终端,因为PowerShell策略变更不会热更新已有会话。


















