yarn代替npm yarn的优点与官网

Posted 安果移不动

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yarn代替npm yarn的优点与官网相关的知识,希望对你有一定的参考价值。

为什么用yarn代替npm

1、速度快

2、并行安装。速度要比npm快的多

3、安装版本统一

4、更简洁的输出

5、多注册来源处理 所有的依赖包不管他被不同的仓库间管理引用多少次。安装这个包时。只会从一个注册来源去装,要么是npm 要么是bowser 防止混乱不一致

6、更好的语义化

yarn 安装也很简单

npm install -g yarn

以下来自官方文档。

官方文档:

Yarn 中文文档

优点

离线模式

如果你以前安装过某个包,再次安装时可以在没有任何互联网连接的情况下进行。

确定性

不管安装顺序如何,相同的依赖关系将在每台机器上以相同的方式安装。

网络性能

Yarn 有效地对请求进行排队处理,避免发起的请求如瀑布般倾泻,以便最大限度地利用网络资源。

相同的软件包

从 npm 安装软件包并保持相同的包管理流程。

网络弹性

重试机制确保单个请求失败并不会导致整个安装失败。

扁平模式

将依赖包的不同版本归结为单个版本,以避免创建多个副本。

对于大多数用户来说,从 npm 迁移应该是一个相当简单的过程。Yarn 可以使用与package.jsonnpm相同的格式,并且可以从 npm 注册表安装任何包。

如果您想在现有的 npm 项目上尝试 Yarn,只需尝试运行:

yarn

这将node_modules使用 Yarn 的解析算法来布置您的文件夹,该算法node.js 模块解析算法兼容 。

如果出现错误,请检查现有问题或将其报告给 Yarn 问题跟踪器

当您运行yarn或 时yarn add <package>,Yarn 将yarn.lock在您的包的根目录中生成一个文件。您无需阅读或理解此文件 - 只需将其签入源代码管理即可。当其他人开始使用 Yarn 而不是 时npm,该yarn.lock文件将确保他们获得与您完全相同的依赖项。

在大多数情况下,运行yarnyarn add第一次就可以了。在某些情况下,package.json文件中的信息不够明确,无法消除依赖,Yarn 选择依赖的确定性方式会遇到依赖冲突。这在较大的项目中尤其可能发生,这些项目有时npm install不起作用,开发人员经常node_modules从头开始删除和重建。如果发生这种情况,请npm在转换为 Yarn 之前尝试使用使依赖项的版本更加明确。

从 Yarn 1.7.0 开始,您可以导入npmYarn生成的package-lock.json状态,使用yarn import.

项目的其他开发人员可以继续使用npm,因此您无需让项目中的每个人同时进行转换。使用的开发者yarn都会得到完全相同的配置,使用的开发者npm得到的配置可能略有不同,这是npm.

稍后,如果您确定 Yarn 不适合您,您可以重新使用npm而不进行任何特定更改。yarn.lock如果项目中没有人再使用 Yarn,您可以删除旧文件,但这不是必需的。

如果您现在正在使用一个npm-shrinkwrap.json文件,请注意您最终可能会得到一组不同的依赖项。Yarn 不支持 npm shrinkwrap 文件,因为它们没有足够的信息来支持 Yarn 更具确定性的算法。如果您使用的是shrinkwrap 文件,则可以更轻松地将参与该项目的每个人同时转换为使用Yarn。只需删除现有npm-shrinkwrap.json文件并签入新创建的yarn.lock文件即可。

CLI 命令比较

高于海平面 (v5)
npm installyarn add
(不适用)yarn add --flat
(不适用)yarn add --har
npm install --no-package-lockyarn add --no-lockfile
(不适用)yarn add --pure-lockfile
npm install [package] --saveyarn add [package]
npm install [package] --save-devyarn add [package] --dev
(不适用)yarn add [package] --peer
npm install [package] --save-optionalyarn add [package] --optional
npm install [package] --save-exactyarn add [package] --exact
(不适用)yarn add [package] --tilde
npm install [package] --globalyarn global add [package]
npm update --global                  yarn global upgrade                    
npm rebuildyarn add --force
npm uninstall [package]yarn remove [package]
npm cache cleanyarn cache clean [package]
rm -rf node_modules && npm install  yarn upgrade                          
npm version major                    yarn version --major                  
npm version minor                    yarn version --minor                  
npm version patch                    yarn version --patch              

以上是关于yarn代替npm yarn的优点与官网的主要内容,如果未能解决你的问题,请参考以下文章

使用yarn代替npm进行前端包管理

使用yarn作为NPm的代替方案

Linux系统和Windows系统Yarn 安装与使用教程

我可以使用 npm install 代替 yarn add 命令吗? [关闭]

Yarn: 一个新的JavaScript模块管理器

[Web 前端] 使用yarn代替npm作为node.js的模块管理器