PowerShell 执行策略:fnm管理软件安装nodejs无法运行npm,错误信息:about_Execution_Policies

通过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 区域的脚本和配置文件之前警告用户。
备注

若要更改执行策略,请执行以下操作:

bash 复制代码
Set-ExecutionPolicy -ExecutionPolicy <PolicyName>

例如:

bash 复制代码
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

若要在特定范围内设置执行策略,请执行以下操作:

bash 复制代码
Set-ExecutionPolicy -ExecutionPolicy <PolicyName> -Scope <scope>

例如:

bash 复制代码
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

更改执行策略的命令可能会成功,但仍然不会更改有效的执行策略。

例如,为本地计算机设置执行策略的命令可能会成功,但会被当前用户的执行策略覆盖。

  • 删除执行策略
    若要删除特定范围的执行策略,请将执行策略设置为 Undefined。
    例如,若要删除本地计算机所有用户的执行策略:
bash 复制代码
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine

若要删除 Scope 的执行策略,请执行以下操作:

bash 复制代码
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser

如果未在任何范围内设置执行策略,则有效执行策略 Restricted,这是 Windows 客户端的默认值。

可通过命令查看策略:

bash 复制代码
Get-ExecutionPolicy -List

备注:nodejs需要手动配置环境变量再次执行策略更改。

相关推荐
lovingsoft1 分钟前
Chrome Lighthouse 详解
前端·chrome
Qlly11 分钟前
全栈工程师怎么接需求?从一句「加个功能」聊到能开发、能验收
前端·后端
马可家的菠萝15 分钟前
你的微信“文件传输助手”,是不是已经成了第二个网盘?
前端·后端·架构
略略略啦16 分钟前
Vibe Coding 基于Spec DD和TDD的实践指南
前端
shmily麻瓜小菜鸡37 分钟前
前端实现图片与PDF文字识别敏感信息打码方案
前端·pdf·状态模式
打工仔折腾 AI42 分钟前
LangChain 工具调用实战:从 Tool 定义到 Agent 执行链路拆解
java·前端·人工智能·后端·python·langchain·ai agent 实战
汉堡大王95271 小时前
单次输出拉到100万Token:拆完 Gemini 4 Argon 的续写协议,才看懂谷歌这7个月在憋什么
前端·人工智能·后端
看浪的路人1 小时前
第9讲:大模型应用监控与可观测性——OpenTelemetry + Prometheus + Grafana 全链路追踪
java·前端·spring
内存过载1 小时前
用表格模拟甘特图:项目排期的土办法
前端·低代码
葡萄城技术团队1 小时前
用 SpreadJS 数据验证实现省市区三级联动
前端