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

更新日期: 2018-03-27阅读: 7.6k标签: yarn

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


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

Yarn vs npm: 你需要知道的一切

Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。它的目的是解决这些团队使用 npm 面临的少数问题,即:安装的时候无法保证速度/一致性,安全问题,因为 npm 安装时允许运行代码

通过npm或yarn自动生成vue组件

不知道大家每次新建组件的时候,是不是都要创建一个目录,然后新增一个.vue文件,然后写template、script、style这些东西,如果是公共组件,是不是还要新建一个index.js用来导出vue组件

Bun 炒作的太火了,不过是另一个 yarn 的故事?

我们又要犯同样的错误了。我经常被提醒,每 5 年世界上的程序员数量就会翻一番,这意味着任何时候,有 50%的行业人员经验都不到 5 年。这可能就是为什么我们会一次又一次地被类似 Bun 这样的东西搅局的原因

npm 和 yarn 你选哪个?

每个团队都必须在开发过程中做出各种决定。其中通常会涉及到 yarn,npm 或其它用于构建和打包 javascript 代码的工具。一些开发人员渴望朝着某个方向前进

Windows下Yarn安装与使用

输入yarn -version 可以看到版本号,说明安装成功了。我们就可以在项目中像使用npm一样使用yarn了

细说包管理器yarn和npm

在过去,一个简单的文本编辑器就足以让开发人员创建和管理大部分项目。但从那以后,WEB发生了翻天覆地的变化,如今,即使是一个相当简单的项目,通常也会有成百上千个带有复杂嵌套依赖关系的脚本,如果没有自动化工具,这些脚本根本无法有序的管理,这时就需要包管理器。

清除npm/yarn缓存包

我们平时在使用npm命令或者yarn命令的时候,有时会在本地缓存一些包,导致本地电脑硬盘占用率增加。 由于杀毒软件的扫描,某些软件包可能会丢失某些文件。 这时候npm 使用本地包的话,就会导致我们的项目无法运行

升级 Yarn 2,大规模瘦身 node_modules

node项目中最臭名昭著的莫过于node_modules文件夹,这个糟糕的结构动辄使你的文件数目增加几万甚至几十万,无论是安装还是删除,都要消耗大量时间,并且占据大量inode结点,我们随便进入一个react项目文件夹

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