关于包管理的分享npx、npm、cnpm、pnpm、nvm、yarn 等的发展历史,性能情况,及使用方法

npx

  1. npm使用教程:http://www.ruanyifeng.com/blog/2019/02/npx.html
  2. 介绍:一个 npm 包执行器。我们可以使用 npx 来执行各种命令

npx是npm5.2.0版本中新增的命令,它可以直接运行安装在npm仓库中的任何一个模块。npx的优势在于可以避免全局安装模块带来的问题,例如版本冲突等。此外,npx还可以方便地运行Node.js脚本。npx的使用方法很简单,只需要在命令行中输入npx后面跟随要运行的模块即可。

  1. 安装:<font style="color:rgb(51, 51, 51);background-color:rgb(247, 247, 247);">npm install -g npx</font>
  2. 使用:npx xxx
  3. 案例:
1. npx执行依赖包里的二进制文件。以往在 node 项目中要执行一个脚本,需要将它在 scripts 中声明:npm run serve
  scripts": {
    "serve": "vue-cli-service serve",
    "dev": "vue-cli-service serve --mode dev",
    "test": "vue-cli-service serve --mode test",
    "uat": "vue-cli-service serve --mode uat",
    "prod": "vue-cli-service serve --mode prod",
    "build": "vue-cli-service build --mode production",
    "commit": "git cz",
    "commit:am": "git status && git add . && git cz"
  }
  用了 npx 以后呢,不需要在 scripts 中声明了,就可以直接执行命令即可(npx 开头,然后写入要执行的内容):npx vue-cli-service serve避免全局安装模块

2. 避免全局安装模块
   npx 还能避免全局安装的模块。比如,create-react-app 这个模块是全局安装,npx 可以运行它,而且不进行全局安装。
	npx create-react-app my-react-app

3. 使用不同版本的 node
  利用 npx 可以下载模块这个特点,可以指定某个版本的 Node 运行脚本。它的窍门就是使用 npm 的 node 模块。
  $ npx node@0.12.8 -v v0.12.8
  上面命令会使用 0.12.8 版本的 Node 执行脚本。原理是从 npm 下载这个版本的 node,使用后再删掉。这个方法用来切换 Node 版本,要比 nvm 那样的版本管理器方便一些。

npm

  1. 中文文档:https://www.npmjs.cn/
  2. 介绍:node.js 包管理工具;用来管理 node.js 中的第三方插件;新版本的 node 在安装的时候,会自动安装对应版本的 npm

npm是Node.js的官方包管理器,它可以帮助开发者安装、更新、卸载和管理项目依赖包。npm还提供了一些其他的功能,例如发布自己的包等。npm的性能较好,在大部分情况下可以满足开发者的需求。npm的发展历史可以追溯到Node.js的诞生,是Node.js社区中最早的包管理器之一。

npm的使用方法也很简单,只需要在命令行中输入npm后面跟随要执行的命令即可。例如,使用npm安装一个包可以使用命令:

  1. 命令:npm install <package-name>

cnpm

  1. 中文文档:https://cnpmjs.org/
  2. 介绍:使用的是淘宝的源。用法跟 npm 完全一致。cnpm 不稳定,在很多地方不推荐使用

cnpm是npm的一个国内镜像,它可以加快npm包的下载速度。由于npm在国内的下载速度较慢,因此cnpm的出现得到了广泛的欢迎。cnpm的使用方法与npm基本相同,只需要在命令行中输入cnpm后面跟随要执行的命令即可。例如,使用cnpm安装一个包可以使用命令:

  1. 安装:
    1. npm install -g cnpm --registry=https://registry.npm.taobao.org
    2. yarn global add cnpm --registry=https://registry.npm.taobao.org
  2. 命令:cnpm install <package-name>
  3. 镜像切换
    1. cnpm config set registry https://registry.npm.taobao.org
    2. cnpm config set registry https://registry.npmjs.org/

需要注意的是,cnpm并不是npm的替代品,它只是npm的镜像,因此仍然建议在不需要加速下载和安装的情况下使用npm。另外,由于cnpm是在淘宝团队维护的镜像,因此需要注意安全性和稳定性问题。

pnpm

  1. 中文文档:https://www.pnpm.cn/
  2. 介绍:performant npm ,意味“高性能的 npm”。pnpm由npm/yarn衍生而来,解决了npm/yarn内部潜在的bug,极大的优化了性能,扩展了使用场景。被誉为“最先进的包管理工具”。

pnpm是一个快速、轻量级的包管理器,它可以同时管理多个项目的依赖包,节省磁盘空间和下载时间。pnpm的性能比npm要快,因为它使用了硬链接和符号链接来共享同一份依赖包,并且可以并发地安装包。pnpm的发展历史可以追溯到2016年,是一个相对较新的包管理器。

pnpm的使用方法也很简单,只需要在命令行中输入pnpm后面跟随要执行的命令即可。例如,使用pnpm安装一个包可以使用命令:

  1. 命令:pnpm install <package-name>
  2. 使用
    1. 安装
      1. npm install -g pnpm
      2. yarn global add pnpm
    2. 安装依赖包
      1. pnpm install -p react
    3. 升级依赖包
      1. pnpm update -u
    4. 删除依赖包
      1. pnpm uninstall -r react
    5. 运行项目
      1. pnpm start
    6. 版本管理
      1. pnpm install react@16.8.0

由于pnpm使用并发安装包的方式,因此在安装或更新大量依赖包时,可能会占用大量的系统资源,需要注意系统的性能和稳定性。

nvm

  1. 中文文档:https://github.com/nvm-sh/nvm/blob/master/README.md
  2. github下载地址:https://github.com/coreybutler/nvm-windows/releases
  3. nvm安装、配置及常见问题 博客地址
  4. 介绍:node.js 版本管理工具;不同项目可能需要不同版本的 node;可以使用 nvm 来管理 node.js 版本

nvm是Node.js版本管理器,它可以帮助开发者在同一台机器上同时安装和管理多个Node.js版本。nvm的优势在于可以方便地切换Node.js版本,以及在不同的项目中使用不同的Node.js版本。nvm的发展历史可以追溯到2010年,是最早的Node.js版本管理器之一。

nvm的使用方法也很简单,只需要在命令行中输入nvm后面跟随要执行的命令即可。例如,使用nvm安装一个Node.js版本可以使用命令:

  1. 常用命令
1. nvm install <version> // 安装指定版本node
2. nvm ls // 检查已安装的node版本
3. nvm use <version> // 切换node版本
4. node -v // 检查当前正在使用的node版本
5. nvm alias default <version> // nvm alias default 12
6. nvm uninstall <version> // 删除node
7. nvm ls-remote // 列出远程可用的node版本
8. nvm install-latest-npm // 更新nvm到最新版本
9. nvm --help // 显示命令行帮助信息
10. nvm on // 开启node.js版本管理。
11. nvm off // 关闭node.js版本管理。 

yarn

  1. 中文文档:简介
  2. 介绍:经过重新设计的崭新的 npm 客户端;运行速度显著提升,整个安装时间比 npm 少。一般推荐使用 yarn 代替 npm

yarn是由Facebook开发的另一个包管理器,它可以快速、可靠地安装和管理项目依赖包。yarn的性能比npm要快,因为它使用了并行下载和离线缓存等优化策略。此外,yarn还提供了一些其他的功能,例如锁定依赖版本等。yarn的发展历史可以追溯到2016年,是一个相对较新的包管理器。

yarn的使用方法与npm基本相同,只需要在命令行中输入yarn后面跟随要执行的命令即可。例如,使用yarn安装一个包可以使用命令:

  1. 安装: npm install -g yarn
  2. 命令:yarn add <package-name>

使用场景

  1. 如果需要快速、可靠的管理依赖包,可以选择yarn。
  2. 如果需要同时管理多个项目的依赖包并节省磁盘空间和下载时间,可以选择pnpm。
  3. 如果需要在同一台机器上同时安装和管理多个Node.js版本,可以选择nvm。
  4. 如果需要快速运行安装在npm仓库中的模块,可以选择npx。
  5. 如果需要加速npm包的下载速度,可以选择cnpm。
  6. 如果只是普通的依赖包管理,npm已经足够。

npm&yarn对比

**npm ** yarn 描述
npm init yarn init 初始化项目
npm install yarn、yarn install 安装依赖
npm install react --save yarn add react 安装某依赖,写入dependencies
npm uninstall react --save yarn remove react 删除依赖
npm install react --save-dev yarn add react --dev 安装某依赖,写入devDependencies
npm install xxx -g yarn global add xxxx 全局安装某依赖
npm update --save yarn upgrade 更新依赖
npm cache clean yarn cache clean 清除全局缓存依赖包
npm run dev yarn dev、yarn run dev 执行dev命令
查询当前配置的镜像 设置成淘宝镜像
npm get registry yarn config get registry
npm config set registry https://registry.npm.taobao.org yarn config set registry https://registry.npm.taobao.org

npm、pnpm、Yarn性能对比

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐