问题描述:
在Windows系统下使用 PowerShell 执行npm命令时,出现以下错误:
npm : 无法加载文件 D:\ToolFiles\Nodejs\nodejs\npm.ps1,因为在此系统上禁止运行脚本。

分析原因:
这是由于Windows PowerShell 的执行策略(Execution Policy)限制导致的。PowerShell为了系统安全,默认设置为 Restricted 模式,该模式会:
- 禁止运行任何PowerShell脚本文件(.ps1)
- 只允许交互式命令执行
为什么npm会触发这个错误?
- npm 在 Windows 环境下提供了 PowerShell 脚本版本(npm.ps1)
- 当在 PowerShell 中执行 npm 命令时,系统会尝试加载这个脚本文件
- 由于执行策略限制,PowerShell拒绝加载该脚本文件
解决办法:
步骤1:以管理员身份打开PowerShell
- 右键点击开始菜单
- 选择"Windows PowerShell (管理员)"
步骤2:查看当前执行策略
使用命令 Get-ExecutionPolicy 进行查看
bash
Get-ExecutionPolicy

如果显示 Restricted,说明当前禁止脚本运行。
步骤3:设置执行策略为 RemoteSigned
bash
Set-ExecutionPolicy RemoteSigned
系统会提示确认,输入"Y"并回车。

步骤4:验证设置
bash
Get-ExecutionPolicy
现在应该显示 RemoteSigned

步骤5:重新执行 npm 命令

成功!