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需要手动配置环境变量再次执行策略更改。

相关推荐
我是大头鸟26 分钟前
SpringMVC 内容协商处理
前端
Humbunklung27 分钟前
Visual Studio 2022 中添加“高级保存选项”及解决编码问题
前端·c++·webview·visual studio
墨水白云43 分钟前
nestjs[一文学懂nestjs中对npm功能包的封装,ioredis封装示例]
前端·npm·node.js
低代码布道师1 小时前
第五部分:第一节 - Node.js 简介与环境:让 JavaScript 走进厨房
开发语言·javascript·node.js
满怀10151 小时前
【Vue 3全栈实战】从响应式原理到企业级架构设计
前端·javascript·vue.js·vue
luckywuxn1 小时前
使用gitbook 工具编写接口文档或博客
前端
梅子酱~2 小时前
Vue 学习随笔系列二十三 -- el-date-picker 组件
前端·vue.js·学习
伟笑2 小时前
elementUI 循环出来的表单,怎么做表单校验?
前端·javascript·elementui
辣辣y2 小时前
React中useMemo和useCallback的作用:
前端·react
Alice-YUE2 小时前
【HTML5学习笔记1】html标签(上)
前端·笔记·学习·html·html5