0
点赞
收藏
分享

微信扫一扫

无法加载yarn 因为在此系统上禁止运行脚本

解决“无法加载 yarn,因为在此系统上禁止运行脚本”的问题

在使用 Node.js 进行前端开发时,yarn 是一个常用的包管理工具。然而,有时在运行 yarn 命令时,可能会出现“无法加载 yarn,因为在此系统上禁止运行脚本”的错误提示。这通常是由于 Windows 的 PowerShell 策略设置所导致的。

什么是 PowerShell 脚本执行策略?

Windows PowerShell 具有执行策略,控制脚本的运行。默认情况下,执行策略可能会阻止本地脚本的执行,以保护系统不受潜在的恶意代码影响。下面是一些常见的执行策略:

执行策略 描述
Restricted 不允许运行任何脚本.
AllSigned 仅允许运行已签名的脚本.
RemoteSigned 允许运行本地未签名的脚本,但远程脚本必须被签名.
Unrestricted 允许运行所有脚本, 但在运行远程脚本时会有警告.

如果你的系统设置为 Restricted,就会导致无法运行 yarn 或其他脚本,所以需要进行相应的修改。

修改 PowerShell 执行策略

要解决这个问题,我们需要修改 PowerShell 的执行策略。下面是步骤和示例代码:

  1. 以管理员身份运行 PowerShell

    • 在 Windows 搜索框中输入 PowerShell,右键点击 PowerShell 图标,选择“以管理员身份运行”。
  2. 查看当前的执行策略

    Get-ExecutionPolicy
    
  3. 设置新的执行策略: 例如,如果你希望允许本地脚本的执行,可以使用以下命令:

    Set-ExecutionPolicy RemoteSigned
    

    系统会提示确认,输入 Y 并回车即可。

  4. 再次检查当前的执行策略

    Get-ExecutionPolicy
    
  5. 现在可以尝试重新运行 yarn 命令

示例代码

我们可以通过此段代码示例来展示如何使用 yarn 创建一个新的项目并安装依赖包:

# 创建新的一个项目
mkdir my-yarn-project
cd my-yarn-project

# 初始化项目并生成 package.json
yarn init -y

# 安装 express 模块
yarn add express

类图示例

在使用 yarn 时,通常会涉及到多个模块的管理。如下是一个简单的项目类图示例,展示了项目和依赖模块之间的关系。

classDiagram
    class Project {
        +name: string
        +version: string
        +dependencies: Map<string, string>
        +addDependency(dep: string): void
    }

    class Dependency {
        +name: string
        +version: string
    }

    Project "1" --> "*" Dependency : has

结论

当遇到“无法加载 yarn,因为在此系统上禁止运行脚本”的错误时,只需修改 PowerShell 的执行策略即可解决问题。修改后,你将能够顺利地使用 yarn 来管理你的项目依赖。了解 PowerShell 的执行策略也有助于提高系统的安全性。在今后的开发中,合理管理脚本执行权限将为我们提供更顺畅的工作体验。希望这篇文章能够帮助你顺利解决问题,继续进行你的开发工作!

举报

相关推荐

vscode 在此系统上禁止运行脚本

0 条评论