windows上运行npm运行 报错:“无法加载文件 ...\npm.ps1,因为在此系统上禁止运行脚本。”

如图所示

image

 这个错误提示表明 PowerShell 的执行策略阻止了脚本的运行,而 npm.ps1 是一个 PowerShell 脚本文件,因此被拦截。

Windows PowerShell 默认的安全策略是 Restricted,即默认情况下不允许运行脚本,以防止恶意脚本的执行。npm 命令本身是一个 PowerShell 脚本文件(.ps1),因此当你尝试运行 npm 命令时就会报错。

解决方法

方法 1:临时修改 PowerShell 执行策略

Set-ExecutionPolicy RemoteSigned

 需要管理员权限运行 PowerShell 才能更改执行策略。

RemoteSigned 策略含义:
本地脚本可以无限制运行;
从网络下载的脚本必须经过签名才能运行。
输入命令后会提示你确认是否更改策略,输入 Y 确认即可。

其他可选策略(按需选择):
策略名称 描述
Restricted 默认设置,阻止运行脚本
RemoteSigned 推荐,允许本地脚本,远程脚本需签名
AllSigned 所有脚本必须签名
Unrestricted 允许所有脚本,但对远程脚本进行警告
Bypass 不阻止任何脚本,不提示输出
例如,如果你想完全放开限制,可以使用:

Set-ExecutionPolicy Bypass

 注意安全风险:Bypass 模式适合临时调试使用,不建议长期开启。

方法 2:使用 CMD 或 PowerShell 的“绕过模式”启动

如果你不想永久更改执行策略,可以在启动 PowerShell 时加上 -ExecutionPolicy Bypass 参数:

powershell -ExecutionPolicy Bypass

这样进入的 PowerShell 会话将不会限制脚本运行,退出后恢复原状。

 

 

posted @ 2025-08-21 15:31  猪脚踏浪  阅读(795)  评论(0)    收藏  举报