通过fnm管理软件安装NodeJS后添加环境变量依然无法执行npm,提示无法加载文件,错误如下:
PowerShell 执行策略简介:
- PowerShell 执行策略是一项安全功能,用于控制 PowerShell 加载配置文件和运行脚本的条件。 此功能有助于防止恶意脚本的执行。
- 在 Windows 计算机上,可以为本地计算机、当前用户或特定会话设置执行策略。 还可使用组策略设置为计算机和用户设置执行策略。
PowerShell 执行策略仅在 Windows 平台上执行。 具体如下(微软官方解释):
设置默认执行策略。
Restricted(适用于 Windows 客户端)。
RemoteSigned(适用于 Windows 服务器)。
AllSigned | 脚本可以运行,在运行来自尚未分类为可信或不可信的发布者的脚本之前会提示你。但存在运行已签名的恶意脚本的风险。要求所有脚本和配置文件都由受信任的发布者签名,包括在本地计算机上编写的脚本。 |
---|---|
Bypass | 不阻止任何操作,并且没有任何警告或提示。此执行策略专为将 PowerShell 脚本内置到较大应用程序中的配置,或以 PowerShell 为具有自己的安全模型的程序的基础的配置而设计。 |
Default | 设置默认执行策略。Restricted(适用于 Windows 客户端)。RemoteSigned(适用于 Windows 服务器)。 |
RemoteSigned | Windows 服务器计算机的默认执行策略。脚本可以运行。需要受信任的发布者对从 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)的数字签名。在本地计算机上编写且不是从 Internet 下载的脚本不需要数字签名。如果脚本已解除阻止(例如通过使用 Unblock-File cmdlet),则运行从 Internet 下载且未签名的脚本。存在运行来自 Internet 以外来源的未签名脚本以及可能存在恶意的签名脚本的风险。 |
Restricted | Windows 客户端计算机的默认执行策略。允许单个命令,但不允许脚本。阻止运行所有脚本文件,包括格式和配置文件 (.ps1xml)、模块脚本文件 (.psm1) PowerShell 配置文件 (.ps1)。 |
Undefined | 当前范围内没有设置执行策略。如果所有作用域内的执行策略均为Undefined,则对于 Windows 客户端,有效执行策略为 Restricted;对于 Windows Server,有效执行策略为 RemoteSigned。 |
Unrestricted | 非 Windows 计算机的默认执行策略,不能更改。未签名的脚本可以运行。 存在运行恶意脚本的风险。在运行非来自本地 Intranet 区域的脚本和配置文件之前警告用户。 |
备注 |
若要更改执行策略,请执行以下操作:
Set-ExecutionPolicy -ExecutionPolicy <PolicyName>
例如:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
若要在特定范围内设置执行策略,请执行以下操作:
Set-ExecutionPolicy -ExecutionPolicy <PolicyName> -Scope <scope>
例如:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
更改执行策略的命令可能会成功,但仍然不会更改有效的执行策略。
例如,为本地计算机设置执行策略的命令可能会成功,但会被当前用户的执行策略覆盖。
- 删除执行策略
若要删除特定范围的执行策略,请将执行策略设置为 Undefined。
例如,若要删除本地计算机所有用户的执行策略:
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine
若要删除 Scope 的执行策略,请执行以下操作:
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser
如果未在任何范围内设置执行策略,则有效执行策略 Restricted,这是 Windows 客户端的默认值。
可通过命令查看策略:
Get-ExecutionPolicy -List
备注:nodejs需要手动配置环境变量再次执行策略更改。