前端包管理工具 -- NPM、CNPM、NVM、NRM、YARN、NPX、PNPM

4 篇文章 0 订阅

前端包管理工具

NPM、CNPM、NVM、NRM、YARN、NPX、PNPM

在这里插入图片描述

一、npm

包管理工具、常用命令

npm install <pack_name>
npm run dev

# npm仓库登录、退出
npm login
npm logout
npm adduser

# npm 发布
npm publish
npm unpublish

npm info <pack_name>

二、cnpm

淘宝的npm源、用法同npm

cnpm install

三、nvm

node的version版本管理工具

npm i -g nvm					# 安装
nvm ls							# 列出所有
nvm use 18						# 切换版本				
# 安装版本
nvm install 16.19.1
nvm uninstall 16.19.1

# 使用node18运行app.js
nvm run 18 app.js

四、nrm

npm源的管理工具

npm i -g nrm						# 安装
nrm ls								# 列表
nrm use <name>						# 切换源
nrm add <name> <url> <home>			# 添加源
nrm current  						# 当前源

五、yarn

特性/方面npmyarn
性能默认情况下性能可能受到网络影响,npm 7 引入了性能优化使用并行安装和缓存机制,提供更好的安装速度
依赖锁定npm 5 引入 package-lock.json 文件锁定依赖使用 yarn.lock 文件,从一开始就支持依赖锁定
工作区支持npm 7 引入工作区支持从一开始就支持工作区,方便管理多个包
插件系统提供插件系统,允许扩展功能提供插件系统,但社区支持和插件数量较少
配置文件使用 package.jsonnpm-shrinkwrap.json使用 package.jsonyarn.lock 文件
社区和生态系统官方工具,拥有庞大的社区和生态系统社区不断增长,但与 npm 相比规模较小
兼容性作为官方工具,兼容性高兼容大多数 npm 包,但可能存在行为差异
命令行界面提供丰富的命令行命令命令行界面与 npm 类似,但命名和用法有所不同

这个表格概括了 npm 和 yarn 在性能、依赖锁定、工作区支持、插件系统、配置文件、社区和生态系统以及命令行界面方面的主要差异。开发者可以根据自己的项目需求和偏好来选择使用哪个工具。

六、NPX

包执行器,运行 npm 包中的可执行文件,而无需全局安装这些包

  1. 无需全局安装:使用 npx 运行任何 npm 包,而无需安装其到全局环境。
  2. 本地执行npx 默认会在当前项目的 node_modules/.bin 目录下查找可执行文件,这意味着它会使用项目依赖中的包,而不是全局依赖。
  3. 临时安装:如果你需要全局安装一个包来运行它,npx 可以为你临时安装该包,这样它就不会影响全局依赖。
  4. 简化命令npx 简化了命令行的使用,而不需要记住复杂的命令。
  5. 支持 npm 脚本npx 可以执行 package.json 中定义的 npm 脚本。
  6. 环境隔离npx 创建了一个隔离的环境来运行命令,这有助于避免污染全局环境。

使用 npx 的基本语法如下:

npx <package>@<version> [args]

或者,如果你想要执行一个 npm 脚本:

npx <package> -- <args>

例如,如果你想运行 create-react-app 来创建一个新的 React 项目,你可以这样做:

npx create-react-app my-app

七、PNPM

pnpm(Parallel Node Package Manager):高效的包管理器,它提供了一种全新的方式安装和管理 Node.js 包。pnpm 的目标是解决 npm 和 yarn 在处理大型依赖树时的性能问题,以及减少磁盘空间的使用。

  1. 并行安装pnpm 能够并行安装依赖,这大大加快了安装速度。

  2. 磁盘空间节省pnpm 使用硬链接(hard links)来共享依赖,这意味着相同的包只会在磁盘上存储一次,即使多个项目依赖于它。这显著减少了磁盘空间的使用。

  3. 依赖隔离:每个项目都有自己的依赖树,这有助于避免依赖冲突。

  4. 快照pnpm 使用快照(snapshot)来跟踪依赖的状态,这使得依赖的安装和更新更加快速。

  5. 兼容性pnpm 与 npm 和 yarn 的工作方式兼容,可以无缝替换它们。

  6. 支持工作区pnpm 支持工作区(workspaces),允许你在一个仓库中管理多个项目。

  7. 环境隔离pnpm 创建隔离的环境来运行项目,确保环境的一致性。

  8. 无需全局安装:与 npx 类似,pnpm 允许你运行包的可执行文件,而无需全局安装。

pnpm install
pnpm run <script-name>
# 全局安装一个包
pnpm add -g <package-name>

推荐,vue3源码使用pnpm进行管理仓库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值