news 2026/5/10 4:42:09

Node.JS 版本管理工具 Fnm 安装及配置(Windows)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Node.JS 版本管理工具 Fnm 安装及配置(Windows)

Fnm 安装及配置(Windows)

Fnm(Fast Node Manager)?? 一个快速而简单的 Node.js 版本管理工具,使用 Rust 编写。

1 安装

  1. 官网:Fnm(镜像网站 )。

  2. 下载:Fnm(镜像网站)下载Fnm对应的windows版本。

  3. 解压:解压至所需安装位置(无需运行),解压后文件夹目录结构如下。

  4. 将 Fnm 的安装路径添加到系统的环境变量中,具体步骤如下:
    ① 右键点击“此电脑”或“我的电脑”,选择“属性”;
    ② 点击“高级系统设置”;
    ④ 在“系统属性”窗口中,点击“环境变量”;
    ⑤ 在“系统变量”部分,点击“新建”;
    ⑥ 分别输入变量名FNM_DIR与变量值D:software nm-windows(记得替换为自己的Fnm安装路径);

    ⑦ 在“系统变量”部分,找到 Path 变量并双击;
    ⑧ 点击“新建”,添加 Fnm 的安装路径%FNM_DIR%

    ⑨ 点击“确定”以保存更改。

  5. 验证:打开Windows PowerShell(右击windows开始图标,选择Windows PowerShell(管理员)),输入以下命令:

    fnm --version

如果显示 Fnm 的版本号(如下图所示),则表示安装成功。否则请重新尝试以上步骤。

2 Fnm 配置

在PowerShell中输入以下命令:

fnm env

具体释义如下:
$env:FNM_NODE_DIST_MIRROR:指定 Node.js 分发包的镜像地址。
$env:FNM_VERSION_FILE_STRATEGY:定义如何处理版本文件。
$env:FNM_ARCH:指定系统的架构类型。
$env:FNM_MULTISHELL_PATH:指定用于管理多 Shell 会话的路径。在使用多个终端或 Shell 的情况下,Fnm 会在该路径下创建相应的目录,以便管理不同 Shell 会话的 Node.js 版本。
$env:FNM_COREPACK_ENABLED:启用或禁用 Corepack。
$env:FNM_RESOLVE_ENGINES:确定是否解析引擎版本。
$env:FNM_LOGLEVEL:设置 Fnm 的日志级别,默认值info,可选值quiet, error, info。
$env:FNM_DIR:指定 Fnm 的安装目录。

2.1 设置 Node 镜像地址

新增系统变量FNM_NODE_DIST_MIRROR: https://npmmirror.com/mirrors/node/,如下图所示。

重新打开 PowerShell 并运行fnm env命令。

2.2 配置 PowerShell

打开 PowerShell 的配置文件Microsoft.PowerShell_profile.ps1,文件路径为%USERPROFILE%DocumentsWindowsPowerShell,若没有对应文件夹或文件手动创建即可。

将以下命令添加至配置文件末尾。

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

在 Windows 中,也可以运行notepad $profile命令打开 PowerShell 配置文件,如果提示找不到文件路径,就在新建文件夹中添加上述命令,然后保存文件并命名为Microsoft.PowerShell_profile.ps1即可,注意需要保证父级文件夹名称为WindowsPowerShell

3 常用命令

// 查看所有远程可供安装的 Node 版本 fnm list-remote // 安装某一 Node 版本 fnm install <version> // 切换某一 Node 版本 fnm use <version> // 查看当前使用的 Node 版本 fnm current // 查看所有已安装的 Node 版本 fnm list // 删除某一 Node 版本 fnm uninstall <version> // 设置默认版本 fnm default <version> // 设置 Node 版本别名 fnm alias <version> <alias> // 移除 Node 版本别名 fnm unalias <alias>

4 指定项目 Node 版本

  1. package.json 文件中指定:设置以下字段。

    {
    “engines”: {
    “node”: “>=18.0.0”
    }
    }

  2. .node-version 文件中指定:在文件中设置 Node 版本。

    v22.9.0

若 Fnm 不能在本地查找到符合项目指定的 Node 版本,将会在终端中给出提示,若选择 Y 将会自动下载并切换至指定 Node 版本。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 9:53:21

用DFS找出指定长度的简单路径

在图论和计算机科学中,寻找图中所有符合条件的路径是常见的问题之一。今天我们将探讨如何使用深度优先搜索(DFS)来找出一个有向图中从给定顶点出发的所有简单路径,这些路径的长度不超过指定的最大长度k。我们将通过一个具体的实例来展示这个过程,并讨论DFS的优势和一些需要…

作者头像 李华
网站建设 2026/5/6 21:20:23

Oracle数据库中的CLOB与VARCHAR2的无缝转换

引言 在数据库设计中,数据类型的选择对系统的性能和可扩展性有着重要的影响。特别是当数据量增大时,存储字段的数据类型选择显得尤为关键。Oracle数据库提供了多种数据类型,其中VARCHAR2和CLOB是常用的字符数据类型。今天我们来探讨一个有趣的现象:当将VARCHAR2(4000)类型…

作者头像 李华
网站建设 2026/5/1 12:11:21

时自动清理过期条目

一、核心原理 1. 数据存储结构 // 每个 Thread 对象内部都有一个 ThreadLocalMap ThreadLocal.ThreadLocalMap threadLocals null;// ThreadLocalMap 内部使用 Entry 数组&#xff0c;Entry 继承自 WeakReference<ThreadLocal<?>> static class Entry extends We…

作者头像 李华
网站建设 2026/5/6 14:44:22

基于Python+Django的美容院管理系统设计与实现

前言 &#x1f31e;博主介绍&#xff1a;✌CSDN特邀作者、全栈领域优质创作者、10年IT从业经验、码云/掘金/知乎/B站/华为云/阿里云等平台优质作者、专注于Java、小程序/APP、python、大数据等技术领域和毕业项目实战&#xff0c;以及程序定制化开发、文档编写、答疑辅导等。✌…

作者头像 李华
网站建设 2026/4/22 8:27:16

STM32+串口字符型LCD显示方案:系统学习路径

从零开始玩转 STM32 串口字符型LCD&#xff1a;不只是“打印Hello World”你有没有遇到过这样的场景&#xff1f;项目做了一半&#xff0c;突然发现MCU的GPIO快被外设占满了——按键、传感器、通信模块……结果连一个1602 LCD都接不上&#xff0c;因为传统的并行驱动要占用整整…

作者头像 李华