为 fnm 配置镜像源(附:fnm 安装教程)

本文针对fnm工具安装Node.js时遇到的下载问题,提供了详细解决方案。


主要问题源于国外服务器访问慢,建议切换至国内镜像源(如清华大学镜像站)。


提供Windows、macOS/Linux的配置方法,通过设置环境变量实现。


若fnm未安装,推荐使用PowerShell脚本或手动下载安装,并强调必须添加PATH环境变量。


对于网络访问问题,给出手动下载GitHub发布的fnm.exe方案。


最后指导验证安装、配置镜像源及安装Node.js的完整流程,特别提醒Windows用户注意路径设置和终端重启。


为fnm配置镜像源


官网的Node.js非Docker版本可以正常下载,fnm等工具也有对应的资源。出现"无法下载"或"无对应资源"的提示,是因为它们默认从国外服务器获取文件,在国内访问速度可能很慢或不稳定。


要解决此问题,最有效的方法是更换软件镜像源,从国内更快的镜像服务器下载Node.js。


为fnm配置镜像源

你可以通过设置一个环境变量,将fnm的下载源切换到国内的镜像站(如清华大学开源镜像站),这样能大大提升下载速度。

根据你的操作系统,在终端或命令行中执行以下命令:

Windows (在PowerShell或CMD中执行):

powershell

复制代码
# 设置fnm镜像源
$env:FNM_NODE_DIST_MIRROR="https://mirrors4.tuna.tsinghua.edu.cn/nodejs-release/"
# 然后正常使用fnm安装版本,例如
fnm install 20

macOS 或 Linux (在Terminal中执行):

bash

复制代码
# 设置fnm镜像源(临时有效)
export FNM_NODE_DIST_MIRROR="https://mirrors4.tuna.tsinghua.edu.cn/nodejs-release/"
# 然后正常使用fnm安装版本,例如
fnm install 20

提示 :上面的export命令只在当前终端窗口有效。若想永久生效,可以将这行命令添加到你的Shell配置文件(如 ~/.bashrc, ~/.zshrc~/.profile)中,然后重启终端。

其他安装途径

如果你只是想快速获取Node.js进行开发,除了使用版本管理器,也可以选择以下更直接的方式:

  1. 从官网手动下载 :直接访问 Node.js 官网下载页 ,选择合适的安装包(如Windows的.msi安装程序或macOS的.pkg安装包。如果下载缓慢,可以稍等一会儿,或尝试在网络较好的时段操作。

  2. 通过系统包管理器安装 :例如在macOS上可以使用brew install node,或在Ubuntu上使用apt install nodejs。但这种方式安装的版本可能不是最新,且不便于管理多个版本。


两种方案如何选择?

为了帮你快速决定,可以参考这个对比:

方案 优点 缺点 适合场景
配置fnm镜像源 一劳永逸,后续所有版本安装都很快 需要执行一行命令 强烈推荐,尤其是需要管理多个Node.js版本的开发者
官网手动下载 一次性操作,无需配置 每次安装新版本都需重新下载 仅需快速安装单一、长期使用的Node.js版本

总的来说,如果你打算长期开发且需要灵活切换Node.js版本,配置fnm的镜像源是最佳方案


针对Windows系统使用最新LTS Node.js版本的详细配置步骤


配置镜像源

方法一和二中,选择最适合你的一个即可。通常情况下,方法一(临时设置) 适合测试或偶尔使用,方法二(永久配置) 是更推荐的做法。

配置方法 作用范围 操作场景
方法一:临时设置 当前终端会话 仅当前窗口有效,关闭后失效。适合快速测试。
方法二:设置系统变量 全局永久有效 配置后对所有终端生效,一劳永逸。

方法一:临时设置(适合快速测试)

在打开的 PowerShellCMD 中,直接运行以下命令来设置镜像变量,然后再安装Node.js:

powershell

复制代码
# 设置镜像源变量(这里以腾讯云镜像为例)
$env:FNM_NODE_DIST_MIRROR="https://mirrors.tencent.com/nodejs-release/"
# 然后安装最新的LTS版本
fnm install --lts

方法二:设置系统环境变量(推荐,永久生效)

这是最常用的方法,配置一次即可。

  1. 打开系统属性:在Windows搜索栏输入"环境变量",选择"编辑系统环境变量"。

  2. 新建系统变量:点击"环境变量" -> 在"系统变量"区域点击"新建"。

    • 变量名FNM_NODE_DIST_MIRROR

    • 变量值:选择一个镜像地址填入,例如:

      • 腾讯云镜像:https://mirrors.tencent.com/nodejs-release/

      • npmmirror(淘宝镜像):https://npmmirror.com/mirrors/node/

      • 兰州大学镜像:https://mirrors.lzu.edu.cn/nodejs-release/

  3. 保存并生效 :点击所有"确定"按钮保存。务必重新启动你的终端(PowerShell或CMD),让新的环境变量生效。


配置完成后,打开新的PowerShell或CMD窗口,直接执行安装命令即可:

powershell

复制代码
fnm install --lts

命令会自动下载并安装当前最新的Node.js LTS版本。


验证与使用

安装完成后,你可以通过以下命令验证:

命令 作用 预期结果示例
fnm current 查看当前激活的Node.js版本 v20.17.0 (版本号可能不同)
node --version 验证Node.js命令是否可用 同上
npm --version 验证npm是否随Node.js一同安装成功 显示对应的npm版本号

设置默认版本(避免每次重启终端需手动切换)

powershell

复制代码
fnm default 20  # 将20.x系列的最新版本设为默认,请根据实际安装版本调整

其他补充

  1. 如果镜像不生效 :请再次确认终端是否以管理员身份运行(某些情况下需要),或者尝试重启电脑使环境变量彻底生效。

  2. 获取最新LTS版本号 :你也可以先通过 fnm list-remote 命令列出所有远程版本,找到标有 (LTS) 的最新版本号,然后用 fnm install <具体版本号> 安装。


按照以上步骤操作,你应该就能顺利地在Windows上通过fnm快速安装Node.js了。


C:\Users\86178>fnm install --lts 'fnm' 不是内部或外部命令,也不是可运行的程序 或批处理文件。


正确安装 fnm 工具


📦 第一步:安装 fnm(Node.js 版本管理器)

由于你使用的是 Windows 系统,推荐通过以下方式之一安装。任选一种即可:

1. 使用 Windows 包管理器 winget (推荐,最简单)

管理员身份 打开 PowerShell终端 (Terminal),然后执行:

powershell

复制代码
winget install Schniz.fnm

2. 使用安装脚本

同样以管理员身份 打开 PowerShell,然后执行:

powershell

复制代码
# 此命令会自动下载并安装 fnm
curl -fsSL https://fnm.vercel.app/install | bash

注:如果提示 wingetcurl 命令不存在,说明你的系统版本较旧或未包含这些工具。你可以访问 fnm 的 GitHub 发布页面,手动下载 .msi 安装包进行安装。

⚙️ 第二步:将 fnm 添加到系统环境变量

安装完成后,为了让 fnm 命令在任意终端中可用,必须将其安装目录添加到系统的 PATH 环境变量中。这是解决问题的关键。

具体步骤:

  1. 在 Windows 搜索框输入 "编辑系统环境变量" 并打开。

  2. 点击下方 "环境变量(N)..." 按钮。

  3. "系统变量" 区域,找到并选中名为 Path 的变量,点击 "编辑"

  4. 点击 "新建",然后添加一条新路径。根据你的安装方式,路径通常是以下之一:

    • 如果你使用 winget 或脚本安装 :添加 %USERPROFILE%\.fnm

    • 如果你手动安装了 .msi :路径可能是 C:\Users\你的用户名\AppData\Roaming\fnm 或安装时指定的目录。

  5. 点击所有 "确定" 按钮保存。

  6. 非常重要完全关闭你当前的命令行窗口(CMD/PowerShell) ,然后重新打开一个新的 。这样新的 PATH 设置才会生效。

第三步:验证安装并配置镜像源

打开新的命令行窗口后,按顺序执行以下步骤:

  1. 验证 fnm 是否安装成功

    powershell

    复制代码
    fnm --version

    如果显示版本号(如 1.x.x),则说明安装成功。

  2. 按照之前的指引,配置 fnm 的镜像源(以腾讯云为例)

    powershell

    复制代码
    # 设置环境变量(只对当前窗口有效,测试用)
    $env:FNM_NODE_DIST_MIRROR="https://mirrors.tencent.com/nodejs-release/"
    # 如果想永久生效,请按照之前的方法将其添加为“系统环境变量”
  3. 安装最新的 Node.js LTS 版本

    powershell

    复制代码
    fnm install --lts

🔍 故障排查

如果上述步骤后问题依旧,请检查:

  • 是否以管理员身份运行了安装命令。

  • 添加的 PATH 路径是否完全正确(特别是 .fnm 文件夹是否存在)。

  • 在完成 PATH 修改后,是否重启了命令行窗口


PS C:\Users\86178> winget install Schniz.fnm 尝试更新源失败: winget "msstore"源要求在使用前查看以下协议。 Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction 源要求将当前计算机的 2 个字母的地理区域发送到后端服务才能正常工作,(例如"US")。


替代方案:使用 PowerShell 安装脚本 (推荐)

这是官方推荐且目前最可靠的方法。请以管理员身份运行 PowerShell,然后逐行执行以下命令:

powershell

复制代码
# 1. 允许执行远程脚本(执行后选 Y 或 A)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

# 2. 下载并执行 fnm 安装脚本
curl -fsSL https://fnm.vercel.app/install | bash

# 3. 安装完成后,将 fnm 添加到当前会话的 PATH 中
#    这行命令通常是安装脚本最后输出的,如果下面这行不生效,请尝试安装脚本最后一行提示的命令
& "C:\Users\86178\.fnm\fnm.exe" env --shell powershell | Invoke-Expression

执行完以上命令后,立即在新的 PowerShell 窗口中测试:

powershell

复制代码
fnm --version

如果显示版本号(如 1.x.x),则安装成功。


📥 备用方案:手动下载安装

如果脚本安装不成功,可以手动下载安装:

  1. 下载安装包

  2. 运行安装程序

    • 双击下载的 .msi 文件,像安装普通软件一样完成安装。
  3. 验证安装

    • 安装完成后,重新打开一个 PowerShell 窗口 ,输入 fnm --version 查看是否成功。

⚙️ 安装后的关键步骤 (无论用哪种方法安装)

安装成功后,必须将 fnm 的路径添加到系统 PATH 环境变量中 ,以确保永久可用。这是你之前遇到 'fnm' 不是内部或外部命令 的根本原因。


添加 PATH 的步骤 (非常重要!)

  1. 在 Windows 搜索框输入 "编辑系统环境变量" 并打开。

  2. 点击下方 "环境变量"

  3. "系统变量" 区域,找到并选中 Path,点击 "编辑"

  4. 点击 "新建",然后添加 fnm 的安装路径。根据你的安装方式,路径通常是:

    • 脚本安装C:\Users\86178\.fnm

    • 手动安装 (MSI) :可能类似 C:\Users\86178\AppData\Roaming\fnm

  5. 点击所有 "确定" 保存。

  6. 关闭所有 PowerShell/CMD 窗口,再重新打开一个新的


最终验证与配置

完成上述所有步骤后,在新终端中按顺序执行:

  1. 验证命令fnm --version (应显示版本)

  2. 配置镜像源 (以腾讯云为例,复制并执行):

    powershell

    复制代码
    $env:FNM_NODE_DIST_MIRROR="https://mirrors.tencent.com/nodejs-release/"
    # 如果想永久生效,可将 `FNM_NODE_DIST_MIRROR` 和上面的镜像地址,像添加PATH一样,添加为“系统环境变量”
  3. 安装 Node.jsfnm install --lts


PS C:\Users\86178> curl -fsSL https://fnm.vercel.app/install | bash Invoke-WebRequest : 找不到与参数名称"fsSL"匹配的参数。


Windows PowerShell 自带的 curl 实际上是 Invoke-WebRequest 命令的别名,它不支持 Linux curl-fsSL 参数。解决方法很简单:使用 PowerShell 原生的命令替代


🔧 正确的安装命令

请继续在当前的 PowerShell(管理员身份)中,执行以下修正后的命令

powershell

复制代码
# 使用 PowerShell 的 Invoke-WebRequest 命令下载并执行安装脚本
irm https://fnm.vercel.app/install -o install.ps1; .\install.ps1

命令说明

  • irmInvoke-RestMethod 的别名,是 PowerShell 中用于网络请求的命令,可以在这里替代 curl

  • -o install.ps1 表示将下载的脚本保存为当前目录下的 install.ps1 文件。

  • ; .\install.ps1 表示前一个命令完成后,执行这个安装脚本。

📝 安装后的必要步骤

脚本执行完毕后,请务必按顺序完成以下两步

  1. 按照安装脚本最后几行的提示,执行它输出的命令

    通常会是类似下面这样的命令,用于将 fnm 加载到当前会话。你必须手动执行它

    powershell

    复制代码
    & "C:\Users\86178\.fnm\fnm.exe" env --shell powershell | Invoke-Expression
  2. 永久添加 fnm 到 PATH(关键!)

    为了避免你再次遇到 'fnm' 不是内部命令 的错误,安装后必须手动将其添加到系统环境变量。这和之前说的方法完全一样:

    • 打开 "编辑系统环境变量"

    • "系统变量" 中找到 Path 并编辑。

    • 点击 "新建" ,添加 fnm 的安装目录,通常是 C:\Users\86178\.fnm

    • 点击 "确定" 保存,并彻底重启你的 PowerShell 窗口

验证与后续操作

打开新的 PowerShell 窗口,执行以下流程:

步骤 命令 预期结果
1. 验证安装 fnm --version 显示版本号(如 1.x.x
2. 配置镜像源 $env:FNM_NODE_DIST_MIRROR="https://mirrors.tencent.com/nodejs-release/" 无错误提示
3. 安装Node.js fnm install --lts 开始高速下载并安装最新LTS版本

如果配置镜像源想永久生效,还是像之前说的,将 FNM_NODE_DIST_MIRROR 变量和镜像地址添加到"系统环境变量"中。

💎 总结

你现在遇到的问题链条是:

  1. winget 源故障 → 改用脚本安装

  2. PowerShell 的 curl 语法不同 → 改用 irm 命令

请先使用 irm https://fnm.vercel.app/install -o install.ps1; .\install.ps1 这条命令完成安装,并务必执行安装脚本输出的命令以及手动添加 PATH,即可解决所有问题。


PS C:\Users\86178> irm https://fnm.vercel.app/install -o install.ps1; .\install.ps1 irm : 无法连接到远程服务器


这个错误表明你的网络无法访问 fnm.vercel.app 这个域名,这在国内有时会发生。但请放心,我们有直接且100%可行的解决方案。

💡 核心解决方案:手动下载安装

既然网络访问不畅,我们绕开它,直接从 GitHub 下载官方编译好的 fnm 可执行文件。

请严格按以下步骤操作:

第一步:手动下载 fnm 程序

  1. 用浏览器打开 GitHub 发布页面:https://github.com/Schniz/fnm/releases

  2. 在 "Assets" 部分,找到并下载文件名类似 fnm-windows-x64.zip 的压缩包(选择最新版本即可)。

  3. 将下载的 .zip 文件解压 。你会得到一个名为 fnm.exe 的文件。

第二步:放置 fnm.exe 并配置环境变量 (最关键!)

  1. C:\Users\86178 目录下(也就是你当前 PowerShell 所在的目录),新建一个文件夹 ,命名为 .fnm(注意前面有个点)。

  2. 将解压得到的 fnm.exe 文件移动或复制到 C:\Users\86178\.fnm\ 目录下

  3. 将 fnm 添加到系统 PATH 环境变量

    • 在 Windows 搜索框输入 "编辑系统环境变量" 并打开。

    • 点击 "环境变量" -> 在 "系统变量" 区域找到并选中 Path -> 点击 "编辑"

    • 点击 "新建" ,然后输入 fnm 的完整路径:C:\Users\86178\.fnm

    • 点击所有 "确定" 保存。

第三步:验证安装并配置镜像源

  1. 彻底关闭当前所有 PowerShell 或 CMD 窗口 ,然后重新以管理员身份打开一个新的 PowerShell

  2. 输入以下命令验证 fnm 是否可用:

    powershell

    复制代码
    fnm --version
    • 如果成功,会显示版本号(如 1.x.x)。

    • 如果仍然提示"不是内部命令",请回到第二步,仔细检查路径是否添加正确,并确保已重启终端。

  3. 配置国内镜像源(以腾讯云为例,在 PowerShell 中执行):

    powershell

    复制代码
    $env:FNM_NODE_DIST_MIRROR="https://mirrors.tencent.com/nodejs-release/"
    • (如果你想永久生效,可以像添加 PATH 一样,将 FNM_NODE_DIST_MIRROR 也添加为一个新的"系统变量",值为上面的镜像地址)。

第四步:安装最新 Node.js LTS 版本

执行最终命令:

powershell

复制代码
fnm install --lts

重要提示

  • 确保你下载的是 fnm-windows-x64.zip,而不是源码包。

  • PATH 环境变量的修改和终端重启是成功的关键 ,系统需要重新加载配置才能找到 fnm 命令。

  • 手动下载的方式完全绕过了网络安装脚本,因此是最可靠的。

完成以上步骤后,你应该就能顺利安装 Node.js 了。


GitHub 打不开,暂且放弃。

相关推荐
Irene19911 天前
nodejs:nvm vs fnm 详细对比
nodejs·nvm·fnm
winrisef4 个月前
Node.js版本管理工具 || 全配置安装
后端·node.js·nvm·asdf·fnm
Lilixxs1 年前
开发环境搭建-3:配置 JavaScript 开发环境 (fnm+ nodejs + pnpm + nrm)
linux·运维·javascript·pnpm·fnm
ryiot1 年前
fnm教程
node.js·fnm
fly丶知秋1 年前
Node.js 版本管理工具对比总结
node.js·nvm·nvs·volta·n·fnm