Skip to content

Latest commit

 

History

History
62 lines (36 loc) · 1.61 KB

1.3.4 pnpm.md

File metadata and controls

62 lines (36 loc) · 1.61 KB

pnpm

npm/yarn install 原理

主要分为两个部分, 首先,执行 npm/yarn install之后,包如何到达项目 node_modules 当中。其次,node_modules 内部如何管理依赖

执行命令后,首先会构建依赖树,然后针对每个节点下的包,会经历下面四个步骤:

    1. 将依赖包的版本区间解析为某个具体的版本号
    1. 下载对应版本依赖的 tar 包到本地离线镜像
    1. 将依赖从离线镜像解压到本地缓存
    1. 将依赖从缓存拷贝到当前目录的 node_modules 目录

然后,对应的包就会到达项目的node_modules当中。

pnpm

包本身依赖放在同一个node_module下面,与原生 Node 完全兼容,又能将 package 与相关的依赖很好地组织到一起

解决了依赖提升的安全问题,还大大优化了时间和空间上的性能

// 安装 axios
pnpm install axios
// 安装 axios 并将 axios 添加至 devDependencies
pnpm install axios -D
// 安装 axios 并将 axios 添加至 dependencies
pnpm install axios -S

当然,也可以通过 --filter 来指定 package。

pnpm update

根据指定的范围将包更新到最新版本,monorepo 项目中可以通过 --filter 来指定 package。

pnpm uninstall

在 node_modules 和 package.json 中移除指定的依赖。monorepo 项目同上。举例如下:

// 移除 axios
pnpm uninstall axios --filter package-a

pnpm link

将本地项目连接到另一个项目。注意,使用的是硬链接,而不是软链接。如:

pnpm link ../../axios

https://pnpm.io/zh/installation