背景
最近除了后端,前端的一些东西也需要自己来写,然后之前的项目好多是vue和react的,都用到了npm,一直没搞明白npm到底咋用,所以研究一下。
而npm和yarn都属于包管理器,所以一起对比一下。
需要注意的是:npm 和 Yarn 都是通过 package.json 记录项目需要拉取的依赖模块
npm
npm是什么
npm(“Node 包管理器”)是 JavaScript 运行时 Node.js 的默认程序包管理器。
它也被称为“Ninja Pumpkin Mutants”,“Nonprofit Pizza Makers”,以及许多其他随机名称,你可以在 npm-expansions 上探索这些名称。
npm 由两个主要部分组成:
用于发布和下载程序包的 CLI(命令行界面)工具
托管 JavaScript 程序包的 在线存储库
怎么用
可以直接从网页搜索自己需要的包:npm官网
但是大部分时间,我们肯定是使用命令行来使用npm的。比如下面列举的几个常用命令:
# 查看 npm 的版本 $ npm -v # 查看各个命令的简单用法 $ npm -l # 查看 npm 命令列表 $ npm help # 查看 npm 的配置 $ npm config list -l # 用于搜索npm仓库,它后面可以跟字符串,也可以跟正则表达式。 $ npm search <搜索词> [-g] # 安装带有 ^ 版本号的软件包的最新版本 $ npm install <package-name> # 卸载软件包 $ npm uninstall <package-name> # 发布自己的软件包 $ npm publish # 创建一个新的package.json $ npm init # 运行package.json的命令 $ npm run
yarn
yarn是什么
Yarn 对你的代码来说是一个软件包管理器, 你可以通过它使用全世界开发者的代码,或者分享自己的代码给全世界的开发者。Yarn 做这些事情快捷、安全、可靠,所以你不用担心什么。
通过 Yarn 你可以使用其他开发者针对不同问题的解决方案,简化你开发软件的过程。 如果使用过程中遇到问题,你可以将其上报或者贡献解决方案。一旦问题被修复, 你可以使用 Yarn 更新。
代码通过 软件包(package) 的方式被共享。一个软件包里包含了所有需要共享的代码,以及一个描述软件包信息的文件 package.json (叫做 清单)。
怎么用
yarn使用的其实也是npm的包,而且yarn其实也通过npm安装
npm install -g yarn
看一下常用命令:
#初始化 $ yarn init #安装所有依赖项 $ yarn install #安装指定依赖项 $ yarn add [package] #删除依赖项 $ yarn remove [package]
讨论
2010年npm 发布并支持 nodejs,Yarn 包管理器是 npm 的替代品,由 Facebook 于 2016 年 10 月发布。 Yarn 的最初目标是处理 npm 的缺点,例如性能和安全问题。Yarn 很快被定位为安全、快速、可靠的 JavaScript 依赖管理工具。
但是 npm 团队吸取了教训,并通过实现缺失的功能迅速填补了 npm 的空白。
所以对于我们来说,可以按照喜好来选择yarn或者npm,不过基于npm一般会随着nodejs一起安装,所以npm更方便一些。