2023了,是时候使用pnpm了!

2023了,是时候使用pnpm了!

Excerpt

2023了,是时候使用pnpm了!


什么是pnpm

        pnpm代表performant npm(高性能的npm),同npmYarn,都属于Javascript包管理安装工具,它较npmYarn在性能上得到很大提升,被称为快速的,节省磁盘空间的包管理工具。

对比npm,yarn

图片

![图片](data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='1px' height='1px' viewBox='0 0 1 1' version='1.1' xmlns='SVG namespace' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0'%3E%3Cg transform='translate(-249.000000, -126.000000)' fill='%23FFFFFF'%3E%3Crect x='249' y='126' width='1' height='1'%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)

![图片](data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='1px' height='1px' viewBox='0 0 1 1' version='1.1' xmlns='SVG namespace' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0'%3E%3Cg transform='translate(-249.000000, -126.000000)' fill='%23FFFFFF'%3E%3Crect x='249' y='126' width='1' height='1'%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)

通过比对,pnpm牛逼,还有特有的功能,能够管理node.js版本,内容可寻址存储。

npm或yarn转pnpm

操作步骤:

  1. 1.

    全局安装pnpm

--javascripttypescriptbashsqljsonhtmlcssccppjavarubypythongorustmarkdown

npm install -g pnpm

--javascripttypescriptbashsqljsonhtmlcssccppjavarubypythongorustmarkdown

 
  1. 1.

    删除npmyarn生成的node_modules

--javascripttypescriptbashsqljsonhtmlcssccppjavarubypythongorustmarkdown

# 项目目录下运行或手动物理删除
  1. 1.

    pnpm import从其他软件包管理器的lock 文件生成 pnpm-lock.yaml,再执行pnpm install --frozen-lockfile(相当于npm ci)生成依赖,防止没有lock文件意外升级依赖包,导致项目出错

--javascripttypescriptbashsqljsonhtmlcssccppjavarubypythongorustmarkdown

# 生成`pnpm-lock.yaml`

--javascripttypescriptbashsqljsonhtmlcssccppjavarubypythongorustmarkdown

# 安装依赖

--javascripttypescriptbashsqljsonhtmlcssccppjavarubypythongorustmarkdown

pnpm install --frozen-lockfile
  1. 1.

    删除npmyarn生成的lock文件

--javascripttypescriptbashsqljsonhtmlcssccppjavarubypythongorustmarkdown

# 删除package-lock.json
  1. 1.

    项目中的npm命令等修改为pnpm,包括README文档、运行命令等

常用等价命令

npm命令

pnpm等价命令

npm install

pnpm install

npm i pkg

pnpm add pkg

npm run cmd

pnpm cmd

管理 Node.js 环境,安装并使用指定版本的 Node.js。

--javascripttypescriptbashsqljsonhtmlcssccppjavarubypythongorustmarkdown

// 安装 LTS 版本的 Node.js 

pnpm用起来吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/119308.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

倍福控制Beckhoff_AX5000 控制第三方电机

1. 把第三方电机的.XML 文件,拷贝到 C:\TwinCAT\Io\TcDriveManager\MotorPool 目录下,并重新启动 TwinCAT。 2. 打开新的 System Manager 文件,完成 Choose Target 之后,把 TwinCAT System Manager 置为 Config mode。 3. 右击 …

【鸿蒙软件开发】ArkTS基础组件之Gauge(环形图表)、LoadingProgress(动态加载)

文章目录 前言一、Gauge环形图表1.1 子组件1.2 接口参数介绍 1.2 属性1.3 示例代码二、LoadingProgress2.1 子组件2.2 接口2.3 属性2.4 示例代码 总结 前言 Gauge:数据量规图表组件,用于将数据展示为环形图表。 LoadingProgress:用于显示加载…

c#使用ExifLib库提取图像的相机型号、光圈、快门、iso、曝光时间、焦距信息等EXIF信息

近期公司组织了书画摄影比赛,本人作为摄影爱好者,平时也会拍些照片,这次比赛当然不能错过。为了提高获奖概率,选了19张图像作为参赛作品。但是,摄影作品要提交图像的光圈、曝光时间等参数。一两张还可以通过电脑自带软…

推开科研成果落地“最后一扇门”

科研成果只有落地了,才能发挥出它真正的价值。虽然中国近几年已经飞速发展,但是我们的自主创新能力依然比不了发达国家。而且,尽管科研成果在理论和实践上已经取得了很大的进展,但如何将其落地到实际生产中仍然存在很多问题。其中…

软考高项(十二)项目质量管理 ★重点集萃★

👑 个人主页 👑 :😜😜😜Fish_Vast😜😜😜 🐝 个人格言 🐝 :🧐🧐🧐说到做到,言出必行&am…

kafka3.X集群安装(不使用zookeeper)

一、kafka集群实例角色规划 在本专栏的之前的一篇文章《kafka3种zk的替代方案》已经为大家介绍过在kafka3.0种已经可以将zookeeper去掉。 上图中黑色代表broker(消息代理服务),褐色/蓝色代表Controller(集群控制器服务) 左图(kafk…

字节码进阶之JVM Attach API详解

字节码进阶之JVM Attach API详解 文章目录 字节码进阶之JVM Attach API详解附加到虚拟机加载代理和获取信息分离虚拟机 使用Attach API的基本步骤1. **获取虚拟机实例**:2. **附加到虚拟机**:3. **加载代理或获取信息**4. **从虚拟机分离**:…

C++初阶1

目录 介绍: 一,命名空间 1-1,命名空间的定义 1-2,命名空间的使用 1-3,C标准官方命名空间 二,缺省参数 2.1,缺省参数分类 三,函数重载 四,引用 4-1,…

ExoPlayer架构详解与源码分析(6)——MediaPeriod

系列文章目录 ExoPlayer架构详解与源码分析(1)——前言 ExoPlayer架构详解与源码分析(2)——Player ExoPlayer架构详解与源码分析(3)——Timeline ExoPlayer架构详解与源码分析(4)—…

【LeetCode】102. 二叉树的层序遍历

题目链接 文章目录 Python3方法一: 广度优先搜索 (BFS) ⟮ O ( n ) ⟯ \lgroup O(n) \rgroup ⟮O(n)⟯方法二: 深度优先搜索 (DFS) ⟮ O ( n ) ⟯ \lgroup O(n) \rgroup ⟮O(n)⟯ C方法一: 广度优先搜索 (BFS) ⟮ O ( n ) ⟯ \lgroup O(n…

Android 中如何使用 App Links

1. 简介 什么是 App Links呢?App Links 是 Android 6.0 (API 级别23) 引入的新功能,它是基于 DeepLinking,允许应用自动处理网站的 URL,而无需提示用户启动相应的应用。 例如:如果你在手机浏览器中输入了某个网站&am…

esp32-S3 + visual studio code 开发环境搭建

一、首先在下面链接网页中下载esp-idf v5.1.1离线安装包 ,并安装到指定位置。dl.espressif.cn/dl/esp-idf/https://dl.espressif.cn/dl/esp-idf/ 安装过程中会提示需要长路径支持,所以windows系统需要开启长路径使能 Step 1: 打开运行&…

uniapp解决iOS切换语言——原生导航栏buttons文字不生效

uniapp 切换语言原生导航栏buttons文字不生效? 文章目录 uniapp 切换语言原生导航栏buttons文字不生效?效果图page.json配置解决方式 效果图 场景:在 tabbar 页面中,配置 原生导航栏 buttons ,切换语言时,不…

设计大师都在用!电商设计素材网站大公开

双十一即将到来,想必各电商平台的设计师早已开启电商设计项目。找到合适的电商设计模板是电商设计成功的关键因素。高质量的电商设计模板素材不仅能够提升网站的吸引力,还能提升用户体验,从而增加商品的交易率。 Pixso资源社区 在寻找电商设计…

中央设备状态监控系统CMS如何帮助半导体晶圆厂提高产品良率

中央设备状态监控系统(CMS)在半导体晶圆厂中扮演着关键角色,帮助企业提高产品的良率。本文将介绍CMS是什么、当前半导体晶圆厂产品良率面临的挑战,并重点探讨CMS如何通过实时数据监控、故障预测和预警、以及统计分析和过程改进等方…

Stable Diffusion AI绘图

提示词: masterpiece, best quality, 1girl, (anime), (manga), (2D), half body, perfect eyes, both eyes are the same, Global illumination, soft light, dream light, digital painting, extremely detailed CGI anime, hd, 2k, 4k background 反向提示词&…

Django 实战开发(一)项目搭建

1.项目搭建 用pycharm 编辑器可以直接 New 一个 Django 项目 2.新建应用 python manage.py startapp demo项目结构如下: 3.编写第一个Django 视图函数 /demo/views: from django.http import HttpResponse def welcome(request):return HttpResponse("welcome to dja…

Azure - 机器学习企业级服务概述与介绍

目录 一、什么是 Azure 机器学习?大规模生成业务关键型机器学习模型 二、Azure 机器学习适合哪些人群?三、Azure 机器学习的价值点加快价值实现速度协作并简化 MLOps信心十足地开发负责任地设计 四、端到端机器学习生命周期的支持准备数据生成和训练模型…

WebGL笔记:矩阵的变换之平移的实现

矩阵的变换 变换 变换有三种状态:平移、旋转、缩放。当我们变换一个图形时,实际上就是在移动这个图形的所有顶点。解释 webgl 要绘图的话,它是先定顶点的,就比如说我要画个三角形,那它会先把这三角形的三个顶点定出来…

重大技术问题,iPhone 15 Pro Max面临“烧屏门”风波 | 百能云芯

近期,社交媒体平台上陆续涌现大量用户和数码博主就iPhone 15 Pro Max出现烧屏问题的投诉与评论。 烧屏问题是OLED屏幕常见的一个缺陷,这是由OLED屏幕发光机制引发的,OLED屏幕可视为由无数微小的灯泡-像素点构成,这些像素点可以独立…