前端命令npm 、 cnpm、 pnpm、yarn 、 npx、nvm的区别

大名鼎鼎的npm(Node Package Manager)是随同NodeJS一起安装的包管理工具,NPM本身也是Node.js的一个模块。

npm的含义有两层:

  • npm服务器,npm服务器网址为https://www.npmjs.org,npm是 Node 包的标准发布平台,用于 Node 包的发布、传播;
  • npm包管理器,指在命令行窗口或终端使用npm命令来管理node包(模块),开发者可以使用npm命令下载、安装、升级、删除包等。

yarn 、 cnpm 、 npx 、 pnpm都是基于npm的包管理器,是基于npm包管理器的一些变种。解决了早期npm的一些缺点,例如下载速度慢,不能离线下载等。

nvm是Node.js版本管理器

cnpm

某些情况下我们没办法很好的从 https://registry.npmjs.org下载下来一些需要的包,cnpm是方便中国开发者下载依赖包而诞生的包管理工具.

可以直接设置npm的镜像:

bash 复制代码
npm config get registry 
npm config set registry https://registry.npm.taobao.org

也可以使用cnpm,并且将cnpm设置为淘宝的镜像

bash 复制代码
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm config get registry 

使用时只要把原来的npm改为cnpm即可

pnpm

解决了yarn、npm在多个项目安装同一个依赖时会下载重复文件的问题,避免磁盘的浪费,同时大大提升下载速度。

  • pnpm将依赖包存放在一个统一的位置
  • 对同一依赖包使用相同的版本,磁盘上只有这个依赖包的一份文件;
  • 同一依赖包需要使用不同的版本,仅有版本之间不同的文件会被存储起来;
  • 当安装软件包时,其包含的所有文件都会硬链接到此位置,不会占用额外的硬盘空间;
    pnpm的官网:https://pnpm.io/zh/
bash 复制代码
npm install -g pnpm

yarn

yarn解决了早期npm的一些问题比如:不支持离线模式、树形结构的依赖、依赖安装不确定性等。npm新版本基本上已经解决了自身的老毛病,目前yarn和npm没有很大区别。
https://www.yarnpkg.cn

bash 复制代码
npm install -g yarn

npx

npx是npm@5.2版本的一个命令。npx运行的时候,会到node_modules/.bin路径和环境变量$PATH里面,检查命令是否存在,存在则执行;不存在则下载到一个临时目录,使用以后再删除。

npx的作用:

  • 让项目内部安装的模块用起来更方便
  • 避免全局安装模块
  • 使用不同版本的 node
  • 执行 GitHub 源码
bash 复制代码
npx <command>

在不安装全局包的情况下执行命令时,可以使用以下命令

复制代码
npx <package> <command>

例如:要使用create-react-app创建一个新的React项目,我们可以使用以下命令:

复制代码
npx create-react-app my-app

直接通过npm执行命令

复制代码
npx npm <command>

常用命令

npm命令 yarn等价命令 pnpm 等价命令 说明
npm install yarn install pnpm install 安装项目的依赖项
npm install yarn add pnpm add 安装某个依赖,并且默认保存到package.json
npm uninstall yarn remove pnpm remove 移除某个依赖
npm run yarn run pnpm 运行某个命令
相关推荐
shellvon2 小时前
前端攻防:揭秘 Chrome DevTools 与反调试的博弈
前端·逆向
β添砖java2 小时前
案例二:登高千古第一绝句
前端·javascript·css
却尘2 小时前
Server Actions 深度剖析:这就是个披着 React 外衣的 RPC
前端·rpc·next.js
南雨北斗3 小时前
Vue 3 修饰符(Modifiers)
前端
会豪3 小时前
工业仿真(simulation)--前端(七)--消息栏
前端
Jinuss3 小时前
Vue3源码reactivity响应式篇之computed计算属性
前端·vue3
落日沉溺于海3 小时前
React From表单使用Formik和yup进行校验
开发语言·前端·javascript
知识分享小能手3 小时前
React学习教程,从入门到精通, React 新创建组件语法知识点及案例代码(11)
前端·javascript·学习·react.js·架构·前端框架·react
会豪3 小时前
工业仿真(simulation)--前端(五)--标尺,刻度尺
前端
会豪3 小时前
工业仿真(simulation)--前端(四)--画布编辑(2)
前端