Pnpm的使用

发布于:2025-06-08 ⋅ 阅读:(21) ⋅ 点赞:(0)

pnpm 是一个快速、节省磁盘空间的 Node.js 包管理工具,相比 npm 和 yarn,它通过硬链接符号链接技术优化了依赖安装效率。以下是 pnpm 的核心用法和常见场景说明:


1. 安装 pnpm

确保已安装 Node.js,然后通过以下命令安装 pnpm:

bash

npm install -g pnpm
# 或通过核心包管理器(如 Homebrew、Scoop)安装

2. 核心命令

初始化项目

bash

pnpm init # 创建 package.json
安装依赖
  • 安装所有依赖(根据 package.json):

    bash

    pnpm install # 或简写为 pnpm i
  • 安装特定包

    bash

    pnpm add lodash # 添加到 dependencies
    pnpm add -D typescript # 添加到 devDependencies
    pnpm add -g pnpm # 全局安装包
  • 安装指定版本

    bash

    pnpm add react@18.2.0
更新依赖
  • 更新所有依赖

    bash

    pnpm update # 或 pnpm up
  • 更新特定包

    bash

    pnpm update lodash
卸载依赖

bash

pnpm remove lodash # 从 dependencies 中移除
pnpm remove -D typescript # 从 devDependencies 中移除
运行脚本

bash

pnpm run dev # 运行 package.json 中 scripts 定义的 dev 脚本
pnpm dev # 简写(如果脚本名无冲突)
全局命令
  • 查看全局安装的包

    bash

    pnpm list -g --depth=0
  • 升级 pnpm 自身

    bash

    pnpm add -g pnpm

3. pnpm 的优势

节省磁盘空间
  • 硬链接:同一依赖的不同版本在全局存储(~/.pnpm-store)中只保存一份,项目通过符号链接引用。
  • 扁平化依赖:避免 node_modules 嵌套过深(类似 yarn 的扁平化,但更高效)。
性能优化
  • 并行安装:利用多线程加速依赖下载。
  • 增量安装:仅更新变更的依赖,而非全部重新安装。
安全性

更新依赖

卸载依赖

bash

pnpm remove lodash # 从 dependencies 中移除
pnpm remove -D typescript # 从 devDependencies 中移除
运行脚本

bash

pnpm run dev # 运行 package.json 中 scripts 定义的 dev 脚本
pnpm dev # 简写(如果脚本名无冲突)
全局命令


3. pnpm 的优势

节省磁盘空间

性能优化

安全性
  • 严格依赖隔离:通过符号链接确保项目只能访问其声明的依赖,避免依赖污染。

    pnpm 是一个快速、节省磁盘空间的 Node.js 包管理工具,相比 npm 和 yarn,它通过硬链接符号链接技术优化了依赖安装效率。以下是 pnpm 的核心用法和常见场景说明:


    1. 安装 pnpm

    确保已安装 Node.js,然后通过以下命令安装 pnpm:

    bash

    npm install -g pnpm
    # 或通过核心包管理器(如 Homebrew、Scoop)安装

    2. 核心命令

    初始化项目

    bash

    pnpm init # 创建 package.json
    安装依赖
  • 安装所有依赖(根据 package.json):

    bash

    pnpm install # 或简写为 pnpm i
  • 安装特定包

    bash

    pnpm add lodash # 添加到 dependencies
    pnpm add -D typescript # 添加到 devDependencies
    pnpm add -g pnpm # 全局安装包
  • 安装指定版本

    bash

    pnpm add react@18.2.0
  • 更新所有依赖

    bash

    pnpm update # 或 pnpm up
  • 更新特定包

    bash

    pnpm update lodash
  • 查看全局安装的包

    bash

    pnpm list -g --depth=0
  • 升级 pnpm 自身

    bash

    pnpm add -g pnpm
  • 硬链接:同一依赖的不同版本在全局存储(~/.pnpm-store)中只保存一份,项目通过符号链接引用。
  • 扁平化依赖:避免 node_modules 嵌套过深(类似 yarn 的扁平化,但更高效)。
  • 并行安装:利用多线程加速依赖下载。
  • 增量安装:仅更新变更的依赖,而非全部重新安装。
  • 严格依赖隔离:通过符号链接确保项目只能访问其声明的依赖,避免依赖污染。

网站公告

今日签到

点亮在社区的每一天
去签到