安装依赖
npm
npm i # all dependencies
npm i pkg # dependencies
npm i pkg -D # devDependencies
npm i pkg -g # global
npm i/install/add 均可
yarn 1.x
yarn # all dependencies
yarn add pkg # dependencies
yarn add pkg -D # devDependencies
yarn global add pkg # global
pnpm
pnpm i # all dependencies
pnpm add pkg # dependencies
pnpm add pkg -D # devDependencies
pnpm add pkg -g # global
特点
npm
npm is the world's largest software registry.
yarn 1.x
快速、可靠、安全的依赖管理工具。
- 离线模式
- 依赖关系确定
- 最大限度地利用网络资源
- 保持相同的包管理流程
- 重试机制
- 扁平模式
pnpm
快速的,节省磁盘空间的包管理工具(通过软链和硬链)
- 节约磁盘空间并提升安装速度
当使用 npm 或 Yarn 时,如果你有 100 个项目使用了某个依赖(dependency),就会有 100 份该依赖的副本保存在硬盘上。而在使用 pnpm 时,依赖会被存储在内容可寻址的存储中。
同一依赖项的不同版本,只会将不同版本间有差异的文件添加到仓库。
所有文件都会存储在硬盘上的某一位置,跨项目共享同一版本的依赖。
- 创建非扁平化的 node_modules 文件夹
使用 npm 或 Yarn Classic 安装依赖项时,所有包都被提升到模块目录的根目录。
默认情况下,pnpm 使用软链的方式将项目的直接依赖添加进模块文件夹的根目录。
虽然依赖树的层级更深了,但是整个目录结构的层级依然是扁平的。pnpm 通过软链接,把扁平的数据结构变成了树的数据结构。