无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本
时间: 2025-05-17 21:18:16 浏览: 267
### 解决方案
该问题的根本原因在于 PowerShell 的执行策略限制了脚本的运行。以下是具体的解决方案:
#### 修改 PowerShell 执行策略
可以通过更改 PowerShell 的执行策略来允许脚本运行。具体操作如下:
1. **以管理员身份启动 PowerShell**
右键点击“Windows Powershell”图标并选择“以管理员身份运行”。
2. **查看当前执行策略**
使用以下命令可以查看当前系统的执行策略:
```powershell
Get-ExecutionPolicy
```
默认情况下,可能返回 `Restricted` 或其他更严格的策略。
3. **修改执行策略**
将执行策略改为 `RemoteSigned` 或 `Unrestricted` 来允许本地脚本运行。推荐使用 `RemoteSigned`,因为它仅信任远程下载的脚本签名验证,而不限制本地编写的脚本。
```powershell
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
```
如果希望影响整个系统,则可使用 `-Scope LocalMachine` 参数,但这需要更高的权限[^1]。
4. **确认更改生效**
运行以下命令再次检查执行策略是否已成功更新:
```powershell
Get-ExecutionPolicy
```
5. **测试 npm 命令**
返回 VS Code 终端或其他终端窗口,重新尝试运行 `npm -v` 或其他 npm 命令,验证问题是否解决[^2]。
#### 备选方法:通过任务管理器临时启用脚本运行
如果不想永久改变全局执行策略,也可以通过任务管理器创建一个新的 PowerShell 实例,并绕过执行策略限制:
```powershell
powershell.exe -ExecutionPolicy Bypass -File "C:\Program Files\nodejs\npm.ps1"
```
这将在不修改长期配置的情况下一次性运行指定脚本[^3]。
---
### 注意事项
- 更改执行策略可能会带来一定的安全隐患,请确保只在受信任的环境中运行脚本。
- 推荐将执行策略设置为尽可能低的安全级别(如 `RemoteSigned`),而不是完全开放 (`Unrestricted`)。
---
阅读全文