从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,可获得更好的开发体验。


相关推荐
大尚来也7 分钟前
驾驭并发:.NET多线程编程的挑战与破局之道
java·前端·算法
快乐小土豆~~14 分钟前
echarts柱状图的X轴label过长被重叠覆盖
前端·javascript·vue.js·echarts
hhcccchh23 分钟前
1.1 HTML 语义化标签(header、nav、main、section、footer 等)
java·前端·html
儒雅的烤地瓜28 分钟前
Vue | Vue3中<script setup>用法详解
vue.js·vue3·选项式api·组合式 api·setup方法·<script setup>
小李子呢02111 小时前
前端八股2---Proxy 代理
前端·javascript·vue.js
bjzhang751 小时前
使用 HTML + JavaScript 实现组织架构图
前端·javascript·html·组织架构图
军军君011 小时前
Three.js基础功能学习十六:智能黑板实现实例三
前端·javascript·css·vue.js·3d·前端框架·threejs
海上彼尚1 小时前
SVG矢量图形快速入门
前端·html5
嗷o嗷o2 小时前
Android App Functions 深入理解
前端
qq_20815408852 小时前
瑞树6代流程分析
javascript·python