npm和yarn

137 阅读3分钟

引言:依赖包的安装和使用当然离不开node中的npm和yarn,那么它们是怎么使用的,又有什么区别呢?接下里就让我们一起来探究一下吧!

npm 常用命令

1.查找帮助

  • npm -l显示所有可用命令 (超级多),英文状态下按 q 退出查看
  • npm -v查看 npm 的版本
  • npm version查看所有模块的版本
  • npm search 包名搜索包
  • npm <command> -h查看 命令的简单使用帮助
  • npm help <command>查看 命令的详细使用指南

2.安装模块包

  • npm install package-name局部安装模块,安装在命令行所在的文件夹;并将模块依赖写入到 package.json 文件的 dependencies(依赖) 中(生产环境)
    简写:npm i package-name
  • npm install --save package-name局部安装时将模块依赖写入到 package.json 文件的 dependencies 中(生产环境)
    简写:npm install -S package-name
  • npm install --save-dev package-name局部安装时将模块依赖写入到 package.json 文件的 devDependencies 中(开发环境)
    简写:npm install -D package-name
  • npm install -g package-name全局安装模块(全局安装的包一般都是一些工具)
  • npm i会下载当前项目所依赖的所有的包

3.卸载模块包

  • npm uninstall package-name卸载局部模块
  • npm uninstall -g package-name卸载全局模块
  • npm remove package-name 简写为npm r package-name卸载局部模块
  • npm remove -g package-name简写为npm r -g package-name卸载全局模块

4.更新模块

  • npm update package-name更新局部模块
  • npm update -g package-name更新全局模块
  • npm install -g package-name@x.x.x更新全局模块 package-name 到 x.x.x 版本,或者安装指定版本的模块包

5.npm 镜像地址查看及设置

  • 设置代理 url 镜像地址npm config set proxy= <url>
  • 设置镜像 registry.npm.taobao.org 淘宝镜像npm config set registry="http://r.cnpmjs.org"
  • 查看当前镜像地址npm config get registry

yarn 常用命令

  • yarn add 模块包名 默认安装到生产环境
  • yarn add --dev 模块包名 安装依赖到开发环境
  • yarn global add 模块包名 全局安装依赖
  • yarn remove 模块包名 移除一个依赖
  • yarn 安装 package.json 中的所有文件
  • yarn list 列出当前项目的依赖

yarn 和 npm 的区别

  • yarn 安装速度快,因为它是异步执行安装依赖;npm 是同步执行,它需要先安装好前面的包再接着安装。
  • yarn 安装过程信息很干净,npm 会罗列很多其它包的信息,看过去感觉不直观。
  • yarn 安装后是有个 yarn.lock 文件,这个文件是会锁定你安装的版本,别人安装时会直接读取 yarn.lock 文件,这样可以保证安装的依赖的版本是一样的,npm 在 5.x.x 的版本也引入了这个机制,它的文件叫 package-lock.json。

yarn 的速度更快,原因:1、yarn 并行安装,同步执行所有任务,提高性能;2、之前安装过会在缓存中读取,而不是重新下载; yarn 的安装版本统一:会创建 yarn.lock 文件锁定模块的版本号; yarn 更简洁的输出,默认情况只打印出必要的信息

!!!当然以上区别值存在与较老的npm版本,npm5后上述都有得到解决,新增了package-lock.json文件用于锁定版本等等