fnm (Fast Node Manager) 在 Windows 上的安装与使用笔记

17 阅读3分钟

一、什么是 fnm?

fnm 是一个快速、跨平台的 Node.js 版本管理器,使用 Rust 编写。它可以让你在同一台电脑上轻松安装、切换和管理多个 Node.js 版本。

二、安装 fnm

方法1:使用 winget 安装(推荐)

powershell

# 在 PowerShell 中执行
winget install Schniz.fnm

安装过程中的注意事项:

  • 首次使用 winget 会提示同意 Microsoft Store 协议,输入 Y 确认即可
  • 安装完成后会提示:"已修改路径环境变量;重启 shell 以使用新值"

方法2:使用安装脚本

powershell

# 在 PowerShell 中执行
iwr -useb 'https://fnm.vercel.app/install' | iex

三、配置 PowerShell 环境

安装完成后,需要配置 PowerShell 配置文件,以便每次打开终端都能自动加载 fnm。

步骤1:打开 PowerShell(以管理员身份运行)

步骤2:创建 PowerShell 配置文件

powershell

# 如果配置文件不存在,则创建
if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }

步骤3:编辑配置文件

powershell

# 用记事本打开配置文件
notepad $PROFILE

步骤4:在配置文件中添加以下内容

powershell

# fnm 环境配置
fnm env --use-on-cd | Out-String | Invoke-Expression

步骤5:使配置立即生效

powershell

# 重新加载配置文件
. $PROFILE

四、验证安装

powershell

# 检查 fnm 版本
fnm --version
# 预期输出:1.39.0(或更高版本)

五、使用 fnm 管理 Node.js 版本

1. 安装 Node.js

powershell

# 安装最新的 LTS 版本
fnm install --lts

# 安装指定版本
fnm install 18.17.0
fnm install 16.20.0

# 安装最新版本
fnm install latest

2. 查看已安装的版本

powershell

# 列出所有已安装版本(带 * 的是当前使用的版本)
fnm list
# 或
fnm ls

示例输出:

text

* v24.14.0 default, lts-latest
* system

3. 切换 Node.js 版本

powershell

# 切换到最新 LTS 版本(注意语法)
fnm use -- --lts

# 切换到指定版本
fnm use v24.14.0
fnm use 18.17.0

# 使用别名切换
fnm use lts-latest

# 切换到系统版本
fnm use system

⚠️ 注意:  fnm use --lts 会报错,正确用法是 fnm use -- --lts 或直接指定版本号。

4. 设置默认版本

powershell

# 将某个版本设为默认
fnm default v24.14.0

5. 查看当前使用的版本

powershell

fnm current

6. 卸载指定版本

powershell

fnm uninstall 16.20.0

六、实用技巧

1. 项目自动切换版本

在项目根目录创建版本文件,fnm 会自动读取并切换:

  • 创建 .node-version 文件,内容写入:18.17.0
  • 或创建 .nvmrc 文件,内容写入:18.17.0

这样当进入该项目目录时,fnm 会自动切换到指定的 Node.js 版本。

2. 查看远程可用版本

powershell

# 查看所有远程版本
fnm list-remote

# 过滤查看 LTS 版本
fnm list-remote | findstr LTS

3. 为版本创建别名

powershell

# 为特定版本设置别名
fnm alias my-project 18.17.0

# 使用别名切换
fnm use my-project

七、常用命令速查表

命令说明示例
fnm install <版本>安装指定版本fnm install 18.17.0
fnm install --lts安装最新 LTSfnm install --lts
fnm list列出已安装版本fnm list
fnm use <版本>切换版本fnm use 18.17.0
fnm use -- --lts切换到 LTS 最新版fnm use -- --lts
fnm current显示当前版本fnm current
fnm default <版本>设置默认版本fnm default 18.17.0
fnm uninstall <版本>卸载版本fnm uninstall 16.0.0
fnm list-remote查看远程版本fnm list-remote
fnm alias <别名> <版本>创建别名fnm alias stable 18.17.0

八、验证 Node.js 和 npm

安装并切换版本后,验证是否生效:

powershell

# 验证 Node.js
node --version
# 示例输出:v24.14.0

# 验证 npm
npm --version
# 示例输出:11.9.0

九、常见问题解决

Q1: 执行 fnm 命令提示找不到命令

解决方案:重新打开 PowerShell 窗口,或执行 . $PROFILE 重新加载配置。

Q2: fnm use --lts 报错

解决方案:使用 fnm use -- --lts 或直接指定版本号 fnm use v24.14.0

Q3: 如何在 CMD 中使用 fnm?

fnm 主要支持 PowerShell,在 CMD 中使用需要额外配置,建议直接在 PowerShell 中使用。

Q4: 安装时进度条卡住

可能是网络问题,可以尝试:

  • 检查网络连接
  • 使用代理
  • 稍后重试

十、卸载 fnm

如果需要卸载 fnm:

  1. 删除 fnm 可执行文件(通常在用户目录的 .fnm 文件夹)
  2. 从系统环境变量 PATH 中移除 fnm 相关路径
  3. 从 PowerShell 配置文件中删除 fnm env --use-on-cd | Out-String | Invoke-Expression 这行

笔记总结:fnm 是一个快速、易用的 Node.js 版本管理器,特别适合在 Windows 上使用。通过简单的命令就可以轻松管理多个 Node.js 版本,提高开发效率。