Mac VS Code里pnpm命令为何找不到,如何解决?
- 内容介绍
- 文章标签
- 相关推荐
问题开场:VS Code里找不到 pnpm
说实话, 刚打开电脑准备写代码,敲了句 pnpm -v 总的来说... 屏幕立马弹出 “command not found”。
可是我在系统自带的 Terminal 里跑同样的命令,却能正常显示版本号,实际上...。
这玩意儿到底是怎么回事儿?
核心原因:环境变量没同步
macOS 的 Terminal 默认是登录 Shell, 它会读取 .zpro 看好你哦! file 或 .bash_profile里面的 PATH 把 pnpm 加进来了。
VS Code 的集成终端默认是非登录 Shell, 实不相瞒... 只会读 .zshrc于是那条 PATH 就被“丢”了。
再加一点点:如果你是用 nvm 管理 Node,pnp 出道即巅峰。 m 会被装在某个具体 Node 版本的 bin 目录下。
切到别的 Node 版本,PATH 里自然找不到对应的可施行文件。
一步步排查思路
先确认 pnpm 真正装在哪儿。
打开系统终端, 敲:
which pnpm
如果返回类似 /Users/你/.nvm/versions/node/ 吃瓜。 v20.x.x/bin/pnpm说明它在 nvm 的 Node 目录里。
接着检查 VS Code 用的 Shell 是不是 zsh:
echo $SHELL
实际上... 大多数情况下是 /bin/zsh但要确保 VS Code 启动的是登录模式。
常见坑点速查表
- .zprofile vs .zshrc:.zprofile 没被加载 → PATH 缺失。
问题开场:VS Code里找不到 pnpm
说实话, 刚打开电脑准备写代码,敲了句 pnpm -v 总的来说... 屏幕立马弹出 “command not found”。
可是我在系统自带的 Terminal 里跑同样的命令,却能正常显示版本号,实际上...。
这玩意儿到底是怎么回事儿?
核心原因:环境变量没同步
macOS 的 Terminal 默认是登录 Shell, 它会读取 .zpro 看好你哦! file 或 .bash_profile里面的 PATH 把 pnpm 加进来了。
VS Code 的集成终端默认是非登录 Shell, 实不相瞒... 只会读 .zshrc于是那条 PATH 就被“丢”了。
再加一点点:如果你是用 nvm 管理 Node,pnp 出道即巅峰。 m 会被装在某个具体 Node 版本的 bin 目录下。
切到别的 Node 版本,PATH 里自然找不到对应的可施行文件。
一步步排查思路
先确认 pnpm 真正装在哪儿。
打开系统终端, 敲:
which pnpm
如果返回类似 /Users/你/.nvm/versions/node/ 吃瓜。 v20.x.x/bin/pnpm说明它在 nvm 的 Node 目录里。
接着检查 VS Code 用的 Shell 是不是 zsh:
echo $SHELL
实际上... 大多数情况下是 /bin/zsh但要确保 VS Code 启动的是登录模式。
常见坑点速查表
- .zprofile vs .zshrc:.zprofile 没被加载 → PATH 缺失。

