powershell有隐藏命令
这个现象非常关键,你这个不是“正常没装”,而是 PowerShell 里 where 本身就没找到任何东西,所以它不会报错,只是“空输出”。
先给你一个明确结论:
✅ npm / node 当前在这个 PowerShell 会话里完全不可见(PATH 里没有)
❌ 不是 npm 坏了
❌ 不是 PowerShell 出问题
✔️ 是 环境变量 / nvm 切换未生效
下面一步一步来,不绕弯。
一、为什么 where npm / where node 没任何输出?
在 PowerShell 中:
-
where实际是Where-Object的别名 -
但 当参数是字符串时,会自动转为
where.exe -
如果:
- 命令不存在
- PATH 中找不到
👉 结果就是:不报错、不输出
所以你这个表现 = PATH 里压根没有 node/npm
二、立刻确认:系统有没有 node(不依赖 PATH)
在 PowerShell 执行👇
Get-Command node -All
Get-Command npm -All
预期结果
- 有 → 会显示完整路径
- 没有 → 什么都不显示(你大概率是这个)
三、如果你是用 nvm(你之前说过你有 nvm)
1️⃣ 先确认 nvm 在不在
where nvm
或
Get-Command nvm
如果 nvm 也没输出 👉 PATH 连 nvm 都没
2️⃣ 手动看 nvm 目录(最关键)
默认位置之一(挨个试):
dir C:\nvm
dir C:\Program Files\nodejs
或:
dir $env:APPDATA\nvm
只要有一个存在,说明 东西在,只是 PATH 没加载
四、100% 解决方案(不用卸载,不靠感觉)
✅ 正确姿势:重新加载 PATH(当前会话)
$env:Path
看看里面有没有下面任意一个:
C:\Program Files\nodejsC:\nvm%APPDATA%\nvm
如果没有,直接临时加(立刻生效)👇
$env:Path += ";C:\Program Files\nodejs"
或者(nvm 用户):
$env:Path += ";C:\nvm"
$env:Path += ";C:\Program Files\nodejs"
然后再试:
node -v
npm -v
五、nvm 用户的标准修复流程(推荐)
nvm list
nvm use 18
然后 **必须重新打开一个新的

浙公网安备 33010602011771号