首页 前端知识 【已解决】包管理器pnpm的使用,并解决pnpm报错系统禁止运行脚本

【已解决】包管理器pnpm的使用,并解决pnpm报错系统禁止运行脚本

2024-08-10 00:08:45 前端知识 前端哥 804 258 我要收藏

1.node包管理器pnpm的优势

  1. 磁盘空间效率:pnpm使用全局磁盘内容可寻址存储,通过硬链接和符号链接管理node_modules,从而减少磁盘空间的使用,同时保持目录的清洁。
  2. 安装速度:pnpm的安装速度比npm快近2倍,这得益于其共享依赖的机制,避免了在每个项目中重复安装相同包的副本。
  3. 依赖管理:pnpm不允许安装未在package.json中声明的包,这有助于避免因使用未声明模块而产生的潜在错误 。
  4. 支持单体仓库(monorepo):pnpm内置了对单体仓库的支持,允许在单个源码仓库中包含多个包,这在现代前端工程中非常有用。
  5. 安全性:pnpm创建的node_modules默认不是扁平结构,这意味着代码无法访问任意软件包,从而提高了安全性 。
  6. 性能优化:pnpm通过内容寻址的文件系统存储文件,避免了重复安装同一个包,即使是不同版本的包也会尽可能复用之前的代码,只添加新文件。
  7. 避免幽灵依赖:pnpm的依赖管理方式避免了npm和Yarn中常见的幽灵依赖问题,确保了依赖关系的清晰和项目的稳定性。
  8. 在这里插入图片描述
  9. 使用pnpm创建vue3项目
pnpm create vue

2.使用pnpm

2.1node版本与pnpm的版本兼容

在这里插入图片描述

2.2控制node版本,推荐使用nvm

推荐网址(中文版:安装和使用):nvm文档手册 - nvm是一个nodejs版本管理工具 - nvm中文网 (uihtm.com)

2.3全局安装pnpm,在当前node版本下全局安装一次,便可以直接使用

// 全局安装
npm i pnpm -g
//检查你的pnpm是否安装
pnpm -v

如何成功的话,会出现版本号

在这里插入图片描述

不成功可能会遇到pnpm在系统上禁止运行脚本问题

在这里插入图片描述

3.解决pnpm在系统上禁止运行脚本问题

3.1打开PowerShell

在这里插入图片描述

3.2输入命令

更改执行策略

  1. 更改策略为Unrestricted
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
  1. 更改策略为RemoteSigned
Set-ExecutionPolicy -Scope CurrentUser
RemoteSigned

在这里插入图片描述

  1. 可查看执行策略
    默认情况下,策略为Restricted(严格)
Get-ExecutionPolicy

4.关于系统执行策略

在这里插入图片描述

在Windows操作系统中,当涉及到执行脚本时,特别是PowerShell脚本,ExecutionPolicy 是一个重要的设置,它决定了系统允许执行哪些类型的脚本。ExecutionPolicy 有几种不同的设置,其中包括 RestrictedAllSignedRemoteSignedUnrestricted 等。这些设置可以应用于不同的作用域,以控制脚本执行的权限。

以下是ExecutionPolicy应用的作用域及其含义:

  1. MachinePolicy:这是由系统策略决定的执行策略,通常由系统管理员设置,适用于计算机上的所有用户。如果设置了MachinePolicy,它将优先于其他策略。
  2. UserPolicy:这是由用户策略决定的执行策略,适用于特定的用户账户。如果设置了UserPolicy,它将优先于MachinePolicy,但不会影响其他用户。
  3. Process:这个作用域的执行策略仅适用于当前PowerShell进程。通过在PowerShell命令行中使用 Set-ExecutionPolicy 命令设置,例如:Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned。这种设置在PowerShell会话结束后将不再有效。
  4. CurrentUser:这个作用域的执行策略仅适用于当前登录的用户。它不由系统或用户策略控制,而是通过用户在PowerShell中设置的执行策略来确定。
  5. LocalMachine:这个作用域通常指的是MachinePolicy,即计算机级别的策略,适用于计算机上的所有用户和会话。

在PowerShell中,可以使用 Get-ExecutionPolicy -List 命令来查看当前所有作用域的执行策略设置。如果需要更改执行策略,可以使用 Set-ExecutionPolicy 命令,并指定相应的作用域,例如 Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

注意:更改执行策略可能需要管理员权限,并且在生产环境中应谨慎操作,以避免潜在的安全风险。

转载请注明出处或者链接地址:https://www.qianduange.cn//article/15180.html
标签
评论
发布的文章

安装Nodejs后,npm无法使用

2024-11-30 11:11:38

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!