Title : The Difference Between NPM and Yarn
Tags: #npm #yarn #javascript #webdev
什么是包管理
包管理器是创建项目环境和轻松导入外部依赖项的工具。通过使用包管理器,我们可以自动化安装、升级、配置和从项目环境中删除依赖项。
这么说起来可能还是比较抽象的,举个例子:
我本身是做java出身的,最早的依赖包都是通过libs文件制定需要依赖的文件。这样做实际上存在一个问题,假设项目提交了,我本地维护或者更新一个依赖包文件的版本或者是其他的修改,其他人并不知道我这个操作或者指导我这个操作的时候会出现延迟。因此管理这些依赖包也成为了开发中一向比较重要的事情!!!
java可以理解为maven,python可以理解为pip。这样说可能不全,但是可以这么去理解。
NPM
NPM 是node的包管理器,由 NPM, Inc 维护。NPM 是 JavaScript 开发人员中流行的包管理器。它是我们在系统上安装 Node.js 时自动安装的默认包。 (https://www.npmjs.com/)
比如前端在进行项目开发之前需要给开发环境配置node环境,在项目开发之前需要执行install命令去安装项目的依赖文件。但是,由于收到网络的限制,很多时候npm进行包管理并不是最佳的方案!因此国内出现了 cnpm这一类的替代解决方案。
YARN
由 Facebook 于 2016 年开发的 Yarn 包管理器。它是 JavaScript 编程语言的另一个包管理器。作为 NPM 的替代品,Yarn 提供速度、一致性、稳定性和安全性。(https://yarnpkg.com/)
速度比较
NPM 和 Yarn 的主要区别在于包的安装过程。 Yarn 并行安装包。 Yarn 被优化为一次获取和安装多个包。
NPM 将执行串行安装过程。它独立安装每个软件包。
所以在这种情况下,Yarn 的安装过程比 NPM 更快。
安全性
NPM 包管理器对每次安装执行安全检查。 Yarn 在幕后检查以确保您没有下载任何可能与项目依赖项冲突的恶意脚本和其他文件。安全性是 Yarn 的核心功能之一。
易用性
NPM 和 Yarn 这两个包管理器都是用户友好的并且具有良好的用户体验。
基本命令对比
命令对比:
NPM - npm
Yarn - yarn
安装命令:
NPM - npm install
Yarn - yarn
安装新包依赖文件:
NPM - npm install package --save
Yarn - yarn add package
安装开发依赖包:
NPM - npm install package --save-dev
Yarn - yarn add package --dev
移除依赖包文件:
NPM - npm uninstall package --save
Yarn - yarn remove package
包版本升级:
NPM - npm update --save
Yarn - yarn upgrade
包依赖全局安装:
NPM - npm install package -g
Yarn - yarn global add package