nodemon .\index.js nodemon : 无法加载文件 C:\Program Files\nodejs\nodemon.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 htt

这是因为系统上的 PowerShell 执行策略限制了脚本的运行,导致无法执行 nodemon.ps1。解决这个问题的方法如下:

1. 查看当前的执行策略

在 PowerShell 中运行以下命令,查看当前的执行策略:

Get-ExecutionPolicy

通常,默认的策略可能是 Restricted,这会阻止任何脚本的执行。


2. 临时更改执行策略

运行以下命令将执行策略更改为 Bypass(仅在当前会话有效):

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

然后重新运行 nodemon,例如:

nodemon .\index.js

3. 永久更改执行策略(如果需要)

如果您经常需要运行脚本,可以设置全局执行策略为 RemoteSignedBypass

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
  • RemoteSigned:允许运行本地脚本,但需要远程脚本有数字签名。
  • Bypass:允许运行任何脚本。

4. 使用 npx 运行 nodemon

如果您不想更改执行策略,可以直接运行以下命令以绕过 nodemon.ps1

npx nodemon .\index.js

注意事项

  • 更改执行策略可能会降低系统的安全性,因此仅在可信环境中进行。
  • 如果您在运行时仍然遇到问题,可以尝试使用管理员权限运行 PowerShell。
### 解决方案 该问题的根本原因在于 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`)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

终将老去的穷苦程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值