Pnpm的使用

pnpm 是一个快速、节省磁盘空间的 Node.js 包管理工具,相比 npmyarn,它通过硬链接符号链接 技术优化了依赖安装效率。以下是 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 [email protected] |

更新依赖
  • 更新所有依赖

    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 包管理工具,相比 npmyarn,它通过硬链接符号链接 技术优化了依赖安装效率。以下是 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 [email protected] |

  • 更新所有依赖

    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 的扁平化,但更高效)。

  • 并行安装:利用多线程加速依赖下载。

  • 增量安装:仅更新变更的依赖,而非全部重新安装。

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

相关推荐
Avan_菜菜4 小时前
Nuxt3 中使用 pnpm 安装的 NuxtImg 使用会提示找不到图片
前端·npm·nuxt.js
抠脚小弟7 小时前
实现vue组件库并发布npm上使用流程
前端·vue.js·npm
HarryHY7 小时前
检查项目中的依赖是否有更新——npm outdated
前端·npm·node.js
持久的棒棒君19 小时前
npm安装electron下载太慢,导致报错
前端·electron·npm
陪我一起学编程1 天前
关于nvm与node.js
vue.js·后端·npm·node.js
前端百草阁2 天前
从npm库 Vue 组件到独立SDK:打包与 CDN 引入的最佳实践
前端·vue.js·npm
夏日米米茶2 天前
Windows系统下npm报错node-gyp configure got “gyp ERR“解决方法
前端·windows·npm
蓝胖子的多啦A梦2 天前
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚
前端·npm·node.js
XI锐真的烦2 天前
横向对比npm和yarn
前端·npm·node.js