Windows-Node路径异常排查指南

@adens 7/7/2026 3:54:44 AM

Windows Node.js 路径异常排查指南

问题背景

前期安装了 Node.js 16,卸载后使用 fnm 安装了 v26.3.1,但 node -v 仍然显示旧版本。使用 which node 发现微信开发者工具会捆绑安装 Node.js 并写入系统环境变量。

排查步骤

第一步:临时切换到正确版本

在 PowerShell 中运行:

fnm env --use-on-cd --shell powershell | Out-String | Invoke-Expression

或简写:

fnm env --shell powershell | iex

执行后 node -v 应该显示 v26.3.1但这是临时的,关掉终端即失效。


第二步:永久生效 —— 修改 PowerShell 配置文件

  1. 检查配置文件是否存在:

    Test-Path $PROFILE
    

    返回 False 则需要创建。

  2. 创建或编辑配置文件:

    notepad $PROFILE
    
  3. 粘贴以下内容并保存:

    fnm env --use-on-cd --shell powershell | Out-String | Invoke-Expression
    
  4. 重新加载:

    . $PROFILE
    

第三步:解决 PowerShell 执行策略限制

如果提示"无法加载文件,因为在此系统上禁止运行脚本":

临时解决(仅当前终端):

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

永久解决(以管理员身份运行 PowerShell):

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

输入 Y 确认。


第四步:清理旧版 Node.js 残余路径

即使 fnm 生效,旧版路径在系统 PATH 中靠前也可能干扰:

where.exe node   # 查看所有 node 的路径

如果看到非 C:\Users\你的用户名\.fnm\... 的路径(如 C:\Program Files\nodejs),手动删除对应目录下的 node.exe,或从系统环境变量 PATH 中移除。


最终验证

关掉所有 PowerShell,重新打开后执行:

fnm current      # 应显示 v26.3.1
node -v          # 应显示 v26.3.1
$env:Path -split ';' | Select-String node   # 查看 PATH 中的 node 路径

核心要点

  • 微信开发者工具会无声安装 Node.js 并污染 PATH
  • 卸载不完全时,找到目录执行 uninstall.exe 或直接删除文件夹
  • fnm 需要通过 PowerShell Profile 自动注入环境变量

Last Modification : 7/7/2026 3:54:44 AM


In This Document