npm、cnpm、pnpm、yarn包管理工具别傻傻分不清楚了

干啥的:

nodejs的包管理工具。

用于自动化处理包的安装、更新、配置和管理。它们之间的主要区别在于它们各自的实现方式、性能优化、以及一些特有的功能。

怎么用:

1、npm

1.1、描述

  • Node Package Manager
  • 默认包管理器
  • 从 npm 公共仓库中安装、共享和分发代码包
  • npm 在项目中创建一个 node_modules 文件夹,其中包含所有的依赖项。每个项目的依赖都是独立安装的,这可能会导致重复的包和较大的存储空间占用

1.2、官网地址

https://www.npmjs.com

1.3、 仓库地址

http://registry.npmjs.org

1.4、 优点

(1)开源社区的宠儿

(2)国内的 Vue / Vite 团队很多都切换到pnpm

1.5、 缺点

(1)npm仓库在国外,网络原因,死慢啊

1.6、 使用教程

 (1)教程: https://www.runoob.com/nodejs/nodejs-npm.html

(2)命令npm cli:https://docs.npmjs.com/cli/v9

 2、cnpm

2.1、描述

  • cnpm 是 npm 的一个镜像,cnpm 是阿里开发的命令行工具
  • 服务于中国开发者,解决了因网络问题导致的访问 npm 速度慢的问题
  • 它通过同步 npm 库到国内服务器,提供了一个更快速和稳定的访问速度
  • 使用方式和 npm 基本一致,但是它通过指定不同的注册表地址来加速包的下载
  • 使用npm安装包时,需要去npm仓库获取,而npm仓库在国外,很不稳定,有时获取会失败。
  • 为了解决这个问题,淘宝搭建了一个国内npm服务器,会定时拉取国外npm仓库内容,就是把国外的搬运到国内
  • 你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步

2.2、官网地址

https://npmmirror.com/

2.3、 仓库地址

淘宝镜像:http://npm.taobao.org 和 http://registry.npm.taobao.org 已在 2022.06.30 号正式下线和停止 DNS 解析。

新域名为 npmmirror.com :https://registry.npmmirror.com

2.4、 优点

(1)够速度

2.5、 缺点

(1)xxxxxxxxxxxxxxxxxxxx

2.6、 使用教程

 (1)教程:

  • 仍然想使用npm命令:

替换npm默认仓库地址,执行下面命令,后续下载仓库内容时,继续使用npm命令

npm config set registry https://registry.npmmirror.com
  •  直接使用cnpm命令:

安装cnpm,之后下载仓库内容时使用cnpm命令即可

npm install -g cnpm --registry=https://registry.npmmirror.com

(2)其他命令:参照npm,把npm改为cnpm即可

 3、pnpm

3.1、描述

  • performant npm 意思为 高性能的 npm
  • 旨在解决 npm 和 yarn 的一些性能和磁盘空间使用问题
  • 它通过使用硬链接和符号链接将一个版本的包存储在一个地方,而不是在每个项目中重复下载,从而节省磁盘空间
  • pnpm 也提供了更快的安装速度和更严格的依赖关系管理,以避免意外的包版本冲突

3.2、官网地址

https://www.pnpm.cn/installation

3.3、 仓库地址

http://registry.npmjs.org

3.4、 优点

(1)包安装速度极快

(2)磁盘空间利用非常高效

3.5、 缺点

(1)npm仓库在国外,网络原因,死慢啊

3.6、 使用教程

 (1)教程: https://www.pnpm.cn/installation

(2)命令npm cli:https://pnpm.io/zh/cli/add

npm 命令pnpm 等价命令
npm installpnpm install 安装全部依赖
npm install 包名pnpm add (-D) 包名 安装指定包
npm uninstall 包名pnpm remove 包名 移除指定包
npm run 脚本pnpm 脚本 运行脚本

 4、yarn

4.1、描述

  • 替代 npm 的包管理工具
  • 由 Facebook 开发的一个替代 npm 的包管理工具,旨在改进包的安装速度和依赖管理
  • yarn 引入了一个锁文件(yarn.lock),确保团队成员之间安装的依赖保持一致
  • 采用了并行安装机制来加速依赖的下载过程,并且对 node_modules 的结构进行了优化,以减少磁盘空间的占用和提高性能

4.2、官网地址

https://www.npmjs.com/package/yarn

4.3、 仓库地址

https://registry.yarnpkg.com 国外仓库源,有时候还是会慢

4.4、 优点

  • 快速:Yarn缓存了它下载的每个包,所以它再也不需要下载同一个包了。它还几乎同时执行所有操作,以最大限度地提高资源利用率。这意味着安装速度更快。
  • 可靠:使用详细但简洁的锁定文件格式和确定性的安装操作算法,Yarn能够保证在一个系统上运行的任何安装在另一个系统上将完全相同。
  • 安全:在执行代码之前,Yarn使用校验和来验证每个安装包的完整性。

4.5、 缺点

(1)国外仓库源,有时候还是会慢

4.6、 使用教程

 (1)官网Docs: https://classic.yarnpkg.com/en/docs/usage

(2)命令npm cli:

基础命令一览无余:

# 配置源

# 查看镜像源
yarn config get registry
# 绑定镜像源 (使用淘宝镜像)
yarn config set registry https://registry.npmmirror.com
# 删除镜像源(注意这里是 delete)
yarn config delete registry



# 安装依赖模块

yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]



# 删除依赖模块

yarn remove [package]



# 更新依赖模块

yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]

 我们参考了那些文章

https://classic.yarnpkg.com/en/docs/usage

(2)node 包管理工具:npm、pnpm、cnpm、npx、yarnicon-default.png?t=N7T8https://blog.csdn.net/freeking101/article/details/109821916?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-109821916-blog-140329203.235^v43^pc_blog_bottom_relevance_base3&spm=1001.2101.3001.4242.1&utm_relevant_index=1 

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青苔猿猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值