从0开始学vue:pnpm怎么安装

一、什么是 pnpm?

pnpm(Performant npm)是新一代 JavaScript 包管理器,优势包括:

  • 节省磁盘空间:通过硬链接和符号链接实现高效存储
  • 安装速度更快:比 npm/yarn 快 2-3 倍
  • 内置工作区支持:天然适配 Monorepo 项目
  • 安全隔离:默认严格模式防止依赖污染

二、安装方法

1. 通过 npm 安装(推荐)
bash 复制代码
# 全局安装(需已安装 Node.js)
npm install -g pnpm

# 验证安装
pnpm --version
2. 独立脚本安装(无需 Node.js)
bash 复制代码
# Linux/macOS
curl -fsSL https://get.pnpm.io/install.sh | sh -

# Windows(PowerShell)
iwr https://get.pnpm.io/install.ps1 -useb | iex
3. 通过系统包管理器
bash 复制代码
# macOS (Homebrew)
brew install pnpm

# Windows (Chocolatey)
choco install pnpm

# Windows (Scoop)
scoop install pnpm

# Arch Linux
sudo pacman -S pnpm

三、验证安装

bash 复制代码
pnpm --version
# 输出类似 8.6.1 表示成功

# 创建测试项目
pnpm create vite@latest my-project
cd my-project
pnpm install
pnpm run dev

四、配置镜像加速(国内用户)

bash 复制代码
# 设置淘宝镜像
pnpm config set registry https://registry.npmmirror.com

# 验证配置
pnpm config get registry
# 应输出 https://registry.npmmirror.com

五、常用命令对比

操作 npm 命令 pnpm 命令
安装依赖 npm install pnpm install
全局安装 npm install -g pkg pnpm add -g pkg
运行脚本 npm run dev pnpm dev
添加开发依赖 npm install --save-dev pnpm add -D

六、常见问题

1. 权限问题(Linux/macOS)
bash 复制代码
# 如果遇到权限错误,使用:
sudo npm install -g pnpm

# 或修复全局安装目录权限
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
2. 卸载 pnpm
bash 复制代码
# 通过 npm 安装的版本
npm uninstall -g pnpm

# 通过脚本安装的版本
rm -rf $(npm config get prefix)/lib/node_modules/pnpm

通过以上步骤即可完成 pnpm 的安装。推荐新项目直接使用 pnpm 替代 npm/yarn,可获得更好的开发体验。


相关推荐
IT_陈寒11 分钟前
SpringBoot这个特性差点让我加班到凌晨
前端·人工智能·后端
qq_2676128913 分钟前
Gitee DevOps的度量驱动持续改进:从构建数据到交付效率的量化管理与优化路径
前端·gitee·自动化
meilindehuzi_a17 分钟前
从 Vite 到 Axios 与 Mock:React Todos 全栈项目架构及请求链路详解
前端·react.js·架构
亿元程序员19 分钟前
项目经理让我在 2D 项目里做 3D 音乐球球,我只好做了个“假的”
前端
糖果店的幽灵22 分钟前
Codex官网前端可抄吗?从模仿到创新的技术实践指南
前端·人工智能
youqingyike23 分钟前
【无标题】
前端·qt
恋猫de小郭32 分钟前
Jetpack Compose 8 月版正式发布,核心模块 1.12
android·前端·flutter
纵道软件35 分钟前
使用 Docker 构建自定义 SeaTunnel Web 服务镜像
前端·docker·容器
山荷枝40 分钟前
05-Vue
前端·javascript·vue.js
breeze jiang1 小时前
Next.js App Router 全栈实战:从 SPA 的 SEO 痛点到服务端组件与 Hydration 水合机制
开发语言·javascript·ecmascript