官网:安装 | pnpm中文文档 | pnpm中文网
一、pnpm优势:
1.节省磁盘空间
假设你有一个依赖包 example-package
,包含 100 个文件。如果你使用 npm
安装在 100 个项目中,你的硬盘上会有 100 份 example-package
,每份都占用同样的空间。
然而,如果是使用 pnpm,
(1)example-package
的所有文件会被存放在全局存储位置。
(2)当你在一个项目中安装 example-package
时,pnpm
会创建指向全局存储中该包的硬链接。
(3)如果 example-package
发布了一个新版本,且只有一个文件有改动,pnpm
只会在全局存储中添加那个改动的文件,而不是重新保存所有文件。
2.提升安装速度
安装步骤
(1)解析依赖:确定项目所需的依赖包。这个过程包括读取项目的 package.json
文件,解析其中列出的依赖包及其版本信息,并确定所有需要安装的包及其依赖关系。
(2)检查全局存储:检查全局存储位置中是否已有这些依赖包。如果如果没有,下载并存储到全局位置。如果有,跳过下载步骤。
(3)硬链接:将所有依赖包硬链接到项目的 node_modules
目录
二、下载和使用
1.下载和配置环境
npm install -g pnpm
复制
以下列表列出了以往的 pnpm 版本和对应支持的 Node.js 版本。
Node.js | pnpm 7 | pnpm 8 | pnpm 9 |
---|---|---|---|
Node.js 12 | ❌ | ❌ | ❌ |
Node.js 14 | ✔️ | ❌ | ❌ |
Node.js 16 | ✔️ | ✔️ | ❌ |
Node.js 18 | ✔️ | ✔️ | ✔️ |
Node.js 20 | ✔️ | ✔️ | ✔️ |
#检查是否安装成功 pnpm --version
复制
如果显示没有pnpm这个命令,要配置一下系统的环境变量。由于是全局安装的pnpm,所以可以在npm的全局安装路径找到。提示:官网没给出解决方案,我的是出问题了,chatgpt问出来的。
$ npm config get prefix D:\GlobalNodeModules
复制
然后再系统环境变量中的path新增D:\GlobalNodeModules
设置好后,可能需要关机重启。
2.设置源
//查看源 pnpm config get registry //切换淘宝源 pnpm config set registry http://registry.npm.taobao.org
复制
3.设置 pnpm 存储路径
#查看存储路径,默认是C:\Users\10938\AppData\Local\pnpm\store\v3 pnpm store path #修改(官网:pnpm config set store-dir /path/to/.pnpm-store) pnpm config set store-dir D:/pnpm/.pnpm-store
复制
4.基本命令
#1.安装依赖 pnpm install #2.安装特定包 pnpm add <package> #全局安装特定包 pnpm add -g <package> #3.移除依赖 pnpm remove <package> pnpm remove <package> --global #4.更新依赖 pnpm up //更新所有依赖项 pnpm update <package> pnpm update <package> --global #5.检查过时的依赖 pnpm outdated #6.运行脚本 pnpm run <script> #7.查看配置 pnpm config get <key> #8.设置配置 pnpm config set <key> <value> #9.查看包信息 pnpm info <package> #10.链接全局包 pnpm link <package> #11.取消链接全局包 pnpm unlink <package>
复制