yarn和npm的区别对比_比较npm和yarn 命令行

更新日期: 2018-03-27阅读量: 5334标签: npm

npm

npm 是目前js最流行的包管理工具,也是Node.js能够如此成功的主要原因之一。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。  npm 由三个独立的部分组成:

  • 网站 (package)
  • 注册表(registry)
  • 命令行工具 (CLI)

网站是开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径。 注册表 是一个巨大的数据库,保存了每个包(package)的信息。 CLI 通过命令行或终端运行。开发者通过 CLI 与 npm 打交道。


yarn

Yarn 是为了弥补 npm 的一些缺陷而出现的, 它是由Facebook, Google, Exponent and Tilde开发者共同开发完成,Yarn 定位为"快速、可靠、安全的依赖管理工具"。


yarn对比npm的优点 :

1、离线模式

yarn会有一个缓存目录,会缓存以前安装过的软件包,再次安装时就不必从网络下载了,大大加速安装速度。

2、依赖关系确定性

在每一台机器上针对同一个工程安装依赖时,生成的依赖关系顺序和版本是一致的。

3、网络性能优化

下载软件时会优化请求顺序,避免请求瀑布发生

4、网络回弹

yarn在某个安装包请求失败时不会导致安装失败,它会自动去尝试重新安装。而npm则会毫不犹豫的失败,导致得再来一次,耗费时间

5、多注册来源

所有的依赖包,不管他被不同的库间接关联引用多少次,安装这个包时,只会从一个注册来源去装,要么是 npm 要么是 bower, 防止出现混乱不一致。

6、扁平模式

对于多个包依赖同一个子包的情况,yarn会尽量提取为同一个包,防止出现多处副本,浪费空间。比如1.2中,yarn会为babel-generator和babel-helper-define-map 创建同一个lodash子依赖,这样就节约一份的空间。 


npm 与 yarn 命令对比

npmyarn
npm installyarn install
(N/A)yarn install --flat
(N/A)yarn install --har
(N/A)yarn install --no-lockfile
(N/A)yarn install --pure-lockfile
npm install [package](N/A)
npm install --save [package]yarn add [package]
npm install --save-dev [package]yarn add [package] [--dev/-D]
(N/A)yarn add [package] [--peer/-P]
npm install --save-optional [package]yarn add [package] [--optional/-O]
npm install --save-exact [package]yarn add [package] [--exact/-E]
(N/A)yarn add [package] [--tilde/-T]
npm install --global [package]yarn global add [package]
npm rebuildyarn install --force
npm uninstall [package](N/A)
npm uninstall --save [package]yarn remove [package]
npm uninstall --save-dev [package]yarn remove [package]
npm uninstall --save-optional [package]yarn remove [package]
npm cache cleanyarn cache clean
rm -rf node_modules && npm installyarn upgrade
  • 初始化项目
npm  init
yarn init
  • 从 package.json 安装依赖
npm install
yarn
  • 安装指定包到依赖或者开发依赖
npm install --save [package]
yarn add [package]
npm install --save-dev [package]
yarn add [package] [--dev/-D]
  • 安装包到全局
npm install --global [package]
yarn global add [package]
  • 安装指定版本的包
npm install [package]@[version]
yarn add [package]@[version]
  • 重新下载所有包
npm reubild
yarn install --force
  • 卸载包
npm uninstall [package]
npm uninstall --save [package]
yarn remove [package]
npm uninstall --save-dev [package]
  • 升级包
rm -rf node_modules && npm install
yarn upgrade


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: https://www.fly63.com/article/detial/554

RN开发环境的npm私库本地debug调试

一般的node工程,官方提供npm link的方式本地调试。具体步骤如下: 我有私库rn-lib 和工程rn-demo,原理是:将../rn-lib下面的代码copy一份到rn-demo/node_modules/rn-lib

解决npm install(proxy config is set properly. See: npm help conffig)失败问题

重装电脑系统后,使用npm install初始化项目依赖失败了,经过报错信息查询解决办法,最终找到了两个比较好的方案,在此总结一下,以便下次再遇到此类问题。

教你 30 秒发布一个 TypeScript 包到 NPM

这篇文章要求你有一定的 JS 、TS 和 NPM 的知识,如果你写过普通的 NPM 包就更好啦~如果没有的话网上也很多教程的,都很简单~发布过 npm 包的同学都知道,初始化一个 npm 项目,直接用 npm init -y 就可以了,那如果要用 ts 呢,直接 tsc --init 即可。

开发React组件 发布npm包 (使用TSDX)

在mylib文件夹下,src文件夹是让你写源码的,example是让你开发调试用的文件夹,里面也是源码(使用你npm包的源码),dist是你编译后的输出目录,在npm pub时就会把dist上传到npm上

npm实用知识_命令合集

npm 作为前端一大利器,那必须是要好好掌握,在平时的开发中,用的最多的应该就是 npm install,不过,这么强大的工具,作用肯定不止如此。现将自己所知道的有关 npm 的知识给整理出来

vue-cli 3.x 开发插件并发布到 npm

抽空写了一个 textarea,打算发布到 npm 的时候却遇到了问题,之前用 vue-cli 2.x 的时候,打包配置项非常透明,可以很容易的修改,但升级到 vue-cli 3.x 之后,反而一脸懵逼

npm换源成淘宝镜像

由于node下载第三方依赖包是从国外服务器下载,虽然没有被墙,但是下载的速度是非常的缓慢且有可能会出现异常。所以为了提高效率,我们还是把npm的镜像源替换成淘宝的镜像源

创建一个自己的Vue UI组件库,并将它发布在npm上

本文仅限于入门级,没有成规模制作,希望能对你有所帮助。因为在开发多个项目中可能会用到同一个组件,那么我们通过复制粘贴的形式更新,无异于是笨拙的,我们可以通过上传到npm后,不断迭代npm包来实现更新。

Npm install 加速

无法npm publish。 因为publish频次不高,需要的时候切换回npm的官方registry就可以了。自动选择问题 有的一套脚本可能会在国内和国外不同的服务器上运行

node安装好了npm怎么没有反应?

windows安装完nodejs后做了相关环境变量配置后,cmd输入npm没反应就光标一直闪node是正常的。下面我们就来看一下出现这种情况的可能原因与解决方法。node安装好了npm没有反应的原因与解决方法如下:

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!