gulp:系统上禁止运行脚本\执行策略

本文介绍了在Windows系统中遇到gulp运行时由于执行策略限制导致的错误,提供了解决方案,包括以管理员身份运行PowerShell,更改执行策略至RemoteSigned,以及开启开发者模式允许未签名脚本运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

gulp : 无法加载文件C:\Users\Administrator\AppData\Roaming\npm\gulp.ps1,因为在此系统上禁止运行脚本

此问题,已经是报错了,有以下解决方法

原因:本地系统禁止运行脚本。(Windows)

  1. 以管理员身份运行Power Shell

a. 在桌面左下角搜索里面按w

b. 右键以管理员身份运行

  1. 在输入框输入:set-ExecutionPolicy RemoteSigned

选择Y,同意策改即可解决

若以上方法还是不行,有可能是权限问题

  1. 打开系统设置,进入“更新和安全”

  1. 选择开发者选项

  1. 打开开发者模式按钮,勾选“更改执行策略”,以允许本地PowerShell脚本在未签名的情况下运行。

以上就是解决方法了

PowerShell 执行策略

仅在 Windows 平台上强制执行这些策略。 PowerShell 执行策略如下所示:

AllSigned

  • 脚本可以运行。

  • 要求所有脚本和配置文件都由受信任的发布者签名,包括在本地计算机上编写的脚本。

  • 从尚未分类为受信任或不受信任的发布者运行脚本之前,会提示你。

  • 运行已签名但恶意脚本的风险。

Bypass

  • 不阻止任何操作,并且没有任何警告或提示。

  • 此执行策略适用于 PowerShell 脚本内置于较大应用程序的配置,或针对 PowerShell 是具有自身安全模型的程序基础的配置。

Default

  • 设置默认执行策略。

  • Restricted 适用于 Windows 客户端的 。

  • 适用于 Windows 服务器的 RemoteSigned

RemoteSigned

  • Windows Server 计算机的默认执行策略。

  • 脚本可以运行。

  • 需要受信任的发布者对从 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)的数字签名。

  • 不需要在本地计算机上编写且未从 Internet 下载的脚本上使用数字签名。

  • 如果未阻止脚本(例如使用 cmdlet),则运行从 Internet 下载且未签名的 Unblock-File 脚本。

  • 运行来自 Internet 以外的源的未签名脚本以及可能是恶意的已签名脚本的风险。

Restricted

  • Windows 客户端计算机的默认执行策略。

  • 允许单个命令,但不允许脚本。

  • 阻止运行所有脚本文件,包括格式化和配置文件 () .ps1xml 、模块脚本文件 (.psm1) ,以及 PowerShell 配置文件 () .ps1

Undefined

  • 当前范围内没有设置执行策略。

  • 如果所有范围内的执行策略都是 Undefined,则有效的执行策略 Restricted 适用于 Windows 客户端, RemoteSigned 适用于 Windows Server。

Unrestricted

  • 非 Windows 计算机的默认执行策略,无法更改。

  • 未签名的脚本可以运行。 存在运行恶意脚本的风险。

  • 在运行不来自本地 Intranet 区域的脚本和配置文件之前警告用户。

备注

在未区分通用命名约定 (UNC) 路径与 Internet 路径的系统上,可能不允许使用 RemoteSigned 执行策略运行由 UNC 路径标识的脚本。

获取有效的执行策略

Get-ExecutionPolicy

获取影响当前会话的所有执行策略并按优先顺序显示它们:

Get-ExecutionPolicy -List

结果类似于以下示例输出:

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser    RemoteSigned
 LocalMachine       AllSigned

更改执行策略

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值