npm : 未对文件 D:\Program Files\nodejs\npm.ps1 进行数字签名

2,067 阅读2分钟

1. npm 查询版本信息

1.1 返回报错提示

npm : 无法加载文件 D:\Program Files\nodejs\npm.ps1。未对文件 D:\Program Files\nodejs\npm.ps1 进行数字签名。无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息,请参阅 https:/go.microsoft.com/
fwlink/?LinkID=135170 中的 about_Execution_Policies。

1.2 解决方案

查看系统执行策略

以管理员身份打开 PowerShell,输入以下命令查看当前系统的执行策略

PS C:\Users\xxx> Get-ExecutionPolicy
AllSigned

修改系统执行策略

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

1.3 系统执行策略说明

执行策略及其含义:

  1. Restricted

    • 这是默认的执行策略。在此策略下,不允许运行任何脚本。即使脚本是本地的,没有数字签名,也无法运行。
  2. AllSigned

    • 在此策略下,只有当你运行的脚本或配置文件是由可信的发布者签名时,才能执行。这意味着所有脚本都必须有数字签名才能运行,无论是本地脚本还是来自互联网的脚本。
  3. RemoteSigned

    • 此策略允许运行本地脚本(没有数字签名的要求),但是从互联网下载的脚本和配置文件必须有可信的数字签名才能运行。
  4. Unrestricted

    • 此策略允许运行所有脚本,无论它们是否有数字签名。这是最宽松的策略,可能会增加安全风险。
  5. ByPass

    • 此策略允许运行所有脚本,不进行任何执行策略检查。这通常用于调试和故障排除。
  6. Default

    • 此策略返回到 PowerShell 的默认执行策略,通常是 Restricted
  7. Undefined

    • 此值表示没有为指定的范围设置执行策略。

执行策略是 PowerShell 安全功能的一部分,用于控制脚本的执行,以防止恶意脚本的运行。在更改执行策略时,应谨慎考虑安全风险,并确保只运行可信的脚本。