news 2026/6/24 18:29:38

解决 pnpm dev 报错:系统禁止运行脚本的问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
解决 pnpm dev 报错:系统禁止运行脚本的问题

概述

在使用pnpm dev命令启动项目时,很多开发者会遇到 PowerShell 拦截脚本运行的报错,本文将详细解析问题原因,并提供多种可行的解决方法。

一、问题现象

执行pnpm dev命令后,终端抛出如下错误:

pnpm : 无法加载文件 C:\Users\flybird\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 + pnpm dev + ~~~~ + CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess

二、问题原因

该错误的核心是Windows PowerShell 的执行策略限制。PowerShell 为了系统安全,默认会限制脚本的运行权限,防止恶意脚本执行。而pnpm的启动依赖.ps1脚本文件,当执行策略为严格模式时,脚本就会被直接拦截。

三、解决方法

方法 1:临时解除当前会话限制(推荐,仅本次生效)

此方法仅对当前打开的 PowerShell 窗口生效,关闭窗口后权限自动恢复,兼顾安全性和便捷性。

1、以普通用户身份打开 PowerShell(无需管理员权限)。

2、执行以下命令,将当前用户的执行策略设置为RemoteSigned

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

3、终端弹出确认提示时,输入Y并按下回车键。

4、重新执行pnpm dev命令,即可正常启动项目。

方法 2:永久解除限制(需管理员权限)

如果需要长期使用pnpm,不想每次都配置权限,可以选择此方法,全局解除本地机器的脚本运行限制。

1、右键点击 PowerShell,选择以管理员身份运行

2、执行以下命令,设置本地机器的执行策略:

Set-ExecutionPolicy RemoteSigned -Scope LocalMachine

3、输入Y确认策略修改。

4、关闭当前 PowerShell 窗口,重新打开后执行pnpm dev即可。

方法 3:绕过 PowerShell,使用 CMD 终端

如果不想修改 PowerShell 执行策略,也可以换用 Windows 自带的 CMD 命令提示符,CMD 不受 PowerShell 执行策略的约束。

  1. 按下Win + R,输入cmd并回车,打开命令提示符。
  2. 在 CMD 中切换到项目根目录,直接执行pnpm dev命令即可。

四、补充说明

1、关于RemoteSigned策略该策略是兼顾安全与实用的选择,它允许运行本地创建的脚本(如 pnpm 的.ps1文件),但要求远程下载的脚本必须带有数字签名,能有效防范恶意脚本。

2、检查 pnpm 是否安装成功若修改执行策略后仍报错,可能是 pnpm 未正确安装,可执行以下命令重新全局安装:

npm install -g pnpm

3、恢复默认严格策略(可选)如果后续担心安全风险,想要恢复 PowerShell 的默认限制,可执行以下命令:

Set-ExecutionPolicy Restricted -Scope CurrentUser
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 21:13:32

鸿蒙Electron应用调试指南:从开发到上线的问题排查全方案

考虑到之前的文章均围绕鸿蒙Electron应用的核心功能展开,这次我将聚焦“调试与问题排查”这一实用场景,结合鸿蒙系统特性,为开发者提供一套可落地的调试方案。 鸿蒙Electron应用调试指南:从开发到上线的问题排查全方案 一、核心认…

作者头像 李华
网站建设 2026/6/23 22:15:55

应急响应实战:服务器被入侵后的处置步骤(转行安全运维必备)

应急响应实战:服务器被入侵后的处置步骤(转行安全运维必备) 引言 我刚转行安全运维时,第一次处理服务器入侵 —— 看到服务器 CPU 占用 100%、满屏陌生进程,完全不知道从哪下手。后来才明白:应急响应有标准…

作者头像 李华
网站建设 2026/6/22 15:06:01

1、掌握 Linux 网络管理:从入门到实践

掌握 Linux 网络管理:从入门到实践 一、学习目标与适用人群 对于已经掌握 Linux 基础知识,想要学习如何管理基于 Linux 的网络或提升相关技能的用户来说,有一个很好的学习方向。通过一系列学习,目标是从初学者或中级 Linux 用户成长为能够管理和支持实际 Linux 网络的专业…

作者头像 李华
网站建设 2026/6/22 14:17:29

linux提升权限命令提示符,win10如何直接使用命令提示符提高管理员权限?

原标题:win10如何直接使用命令提示符提高管理员权限? 在使用普通的命令提示符时,如果遇到需要管理员权限的操作,往往需要重新打开一个具有管理员权限的命令提示符页面进行操作。 而在Linux操作系统中,可以通过输入su来获取系统最…

作者头像 李华