Mac安装pnpm步骤以及会出现的问题

问题描述

Mac 系统成功安装 pnpm 后,在新建终端中执行 pnpm -v 命令时提示"未找到"或"command not found"。

安装方法:

复制代码
# 官方一键安装脚本(macOS/Linux 通用)
curl -fsSL https://get.pnpm.io/install.sh | sh -
  • 脚本会自动下载并配置 pnpm,安装完成后需重启终端生效

  • 若提示权限问题,可在脚本后添加 --sudo

    curl -fsSL https://get.pnpm.io/install.sh | sudo sh -

安装已经到最后一步了,终端提示的意思是:pnpm 已经下载完成,需要手动激活环境变量才能使用

Next configuration changes were made: export PNPM_HOME="/Users/apple/Library/pnpm" case ":PATH:" in \*":PNPM_HOME:"*) ;; *) export PATH="PNPM_HOME:PATH" ;; esac To start using pnpm, run: source /Users/apple/.bashrc

复制代码
source /Users/apple/.bashrc
  • 这个命令会让刚才配置的 PNPM_HOME 和 PATH 生效,不用重启终端就能用 pnpm 了。

无论用哪种方法,安装完成后执行以下命令,若能显示版本号则说明成功:

复制代码
pnpm -v
  • 若输出版本号(比如 10.20.0,和你终端显示的 10.20.0 对应),说明安装 + 激活成功!
  • 若没报错,就可以直接用 pnpm 操作项目了(比如 pnpm i 安装依赖、pnpm run dev 启动项目)。

!!!!!但是如果新建终端输入pnpm -v

报错:bash: pnpm: command not found

你的终端可能是 zsh (macOS 默认终端),而脚本只配置了 ~/.bashrc(bash 终端的配置文件)。如果下次重启终端后,输入 pnpm -v 提示 "command not found",按以下步骤修复(让所有终端都能识别 pnpm):

确认当前终端是 zsh 还是 bash(或其他 shell),有 3 种超简单的方法,新手也能一键判断:

方法 1:看终端窗口标题(最直观)

打开终端后,看窗口顶部的标题栏:

  • 如果显示 终端 --- zshiTerm2 --- zsh(用 iTerm2 的话),就是 zsh 终端
  • 如果显示 终端 --- bash,就是 bash 终端

方法 2:执行 echo $SHELL 命令(最准确)

在终端输入以下命令,按回车,输出结果直接告诉你当前 shell:

bash

复制代码
echo $SHELL
  • 输出 (/bin/zsh) → 是 zsh 终端(macOS 10.15+ 默认);
  • 输出 (/bin/bash) → 是 bash 终端(macOS 10.14 及以下默认);
  • 其他输出(如 /bin/sh)→ 其他 shell(极少用)。

方法 3:看终端命令提示符(快速判断)

终端输入命令的 "前缀"(提示符)也能区分:

  • zsh 默认提示符:通常是 % 结尾(比如你的 AxinxindeMBP:yudao-ui-admin-vue3 apple$ 里的 $ 也可能是 zsh 自定义后的样式,macOS 下 zsh 也常显示 $);
  • bash 默认提示符:通常是 $ 结尾(和 zsh 可能重复,所以不如前两种准确,但可辅助判断)。

zsh终端配置方法:

复制代码
# 1. 把 pnpm 的环境变量配置复制到 zsh 的配置文件中
echo 'export PNPM_HOME="/Users/apple/Library/pnpm"' >> ~/.zshrc
echo 'case ":$PATH:" in *":$PNPM_HOME:"*) ;; *) export PATH="$PNPM_HOME:$PATH" ;; esac' >> ~/.zshrc

# 2. 激活 zsh 配置(立即生效)
source ~/.zshrc

bash终端配置方法:

把 pnpm 环境变量直接写到 ~/.bash_profile(bash 优先加载)
复制代码
# 1. 把 pnpm 环境变量添加到 .bash_profile(bash 启动必加载)
echo 'export PNPM_HOME="/Users/apple/Library/pnpm"' >> ~/.bash_profile
echo 'case ":$PATH:" in *":$PNPM_HOME:"*) ;; *) export PATH="$PNPM_HOME:$PATH" ;; esac' >> ~/.bash_profile

# 2. 激活配置(当前终端立即生效,不用重启)
source ~/.bash_profile

# 3. 验证是否成功
pnpm -v

如果上面的方法没生效,可手动确认 PNPM_HOME 是否在 PATH 中:

bash 复制代码
# 查看 PATH 环境变量(看是否包含 /Users/apple/Library/pnpm)
echo $PATH

# 若不包含,手动添加(临时生效,重启终端后失效,用于测试)
export PATH="/Users/apple/Library/pnpm:$PATH"

# 再验证
pnpm -v
  • 确保包含 pnpm 的安装路径(通常为 /usr/local/bin 或用户目录下的 .npm-global/bin)。

  • 若仍提示 "command not found",按以下方法手动配置环境变量(极少数情况):

  • 1. 打开终端配置文件(zsh 是 macOS 默认终端,用这个命令) open ~/.zshrc

    2. 在文件末尾添加一行(复制粘贴即可) export PATH="HOME/.pnpm/bin:PATH"

    3. 保存文件并关闭,然后生效配置 source ~/.zshrc # 4. 再次验证 pnpm -

  • 这样不管用 bash 还是 zsh 终端,重启后都能正常使用 pnpm 了。

总结

现在你已经完成了 pnpm 的全部安装,核心命令和 npm 用法几乎一致,比如:

  • 安装项目依赖:pnpm i(对应 npm install
  • 全局安装包:pnpm add -g 包名(对应 npm install -g 包名
  • 启动项目脚本:pnpm run dev(和 npm run dev 一样)
相关推荐
陈大头铃儿响叮当6 小时前
Mac 下配置Charles踩坑之旅
macos
2501_915921437 小时前
Fastlane 结合 开心上架(Appuploader)命令行版本实现跨平台上传发布 iOS App 免 Mac 自动化上架实战全解析
android·macos·ios·小程序·uni-app·自动化·iphone
游戏开发爱好者88 小时前
iOS 上架要求全解析,App Store 审核标准、开发者准备事项与开心上架(Appuploader)跨平台免 Mac 实战指南
android·macos·ios·小程序·uni-app·iphone·webview
alengan9 小时前
ios支付
macos·ios·cocoa
MrZWCui10 小时前
iOS app语言切换
macos·ios·cocoa
晴天无痕11 小时前
iOS修改tabbar的背景图
macos·ios·cocoa
2501_9160074713 小时前
iOS文件管理工具深度剖析,从系统沙盒到跨平台文件操作的多工具协同实践
android·macos·ios·小程序·uni-app·cocoa·iphone
嚴寒14 小时前
Mac 安装 Dart & Flutter 完整开发环境指南
前端·macos