Node.JS 版本管理工具 Fnm 安装及配置(Windows)
Fnm 安装及配置(Windows)
Fnm(Fast Node Manager)?? 一个快速而简单的 Node.js 版本管理工具,使用 Rust 编写。
1 安装
-
官网:Fnm(镜像网站 )。
-
下载:Fnm(镜像网站)下载Fnm对应的windows版本。

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

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

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

⑨ 点击“确定”以保存更改。 -
验证:打开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 版本
-
package.json 文件中指定:设置以下字段。
{
“engines”: {
“node”: “>=18.0.0”
}
} -
.node-version 文件中指定:在文件中设置 Node 版本。
v22.9.0
若 Fnm 不能在本地查找到符合项目指定的 Node 版本,将会在终端中给出提示,若选择 Y 将会自动下载并切换至指定 Node 版本。

相关文章:
Node.JS 版本管理工具 Fnm 安装及配置(Windows)
Fnm 安装及配置(Windows) Fnm(Fast Node Manager)?? 一个快速而简单的 Node.js 版本管理工具,使用 Rust 编写。 1 安装 官网:Fnm(镜像网站 )。 下载:Fnm(…...
labview通过时间计数器来设定采集频率
在刚接触labview的时候,笔者通常用定时里的等待函数来实现指令的收发,但是当用到的收发消息比较多时就出现了卡顿,卡死的情况,这是因为当用队列框架时,程序卡在了其中的一个分支里,等通过相应的延时后才可以…...
汇编JCC条件跳转指令记忆
汇编中的条件跳转指令(JCC): 1. 理解标志寄存器 JCC 指令依赖于标志寄存器(FLAGS)的状态,常见的标志位有: ZF(Zero Flag):结果为0时置1。 CF(Ca…...
HTML排版标签、语义化标签、块级和行内元素详解
目录 前言 一、HTML中的排版标签 1. 文本相关标签 1.1 标题标签 ~ 1.2 段落标签 1.3 强调和加粗 1.4 换行标签 1.5 水平线标签 二、HTML中的语义化标签 2.1 语义化标签概述 2.2 常见的语义化标签 示例(核心代码部分): 三、HTM…...
【回溯+剪枝】单词搜索,你能用递归解决吗?
文章目录 79. 单词搜索解题思路:回溯(深搜) 剪枝 79. 单词搜索 79. 单词搜索 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 …...
《深度揭秘LDA:开启人工智能降维与分类优化的大门》
在当今人工智能蓬勃发展的时代,数据成为了驱动技术进步的核心要素。随着数据采集和存储技术的飞速发展,我们所面临的数据量不仅日益庞大,其维度也愈发复杂。高维数据虽然蕴含着丰富的信息,但却给机器学习算法带来了一系列严峻的挑…...
Linux(CentOS)安装 MySQL
CentOS版本:CentOS 7 三种安装方式: 一、通过 yum 安装,最简单,一键安装,全程无忧。 二、通过 rpm 包安装,需具备基础概念及常规操作。 三、通过 gz 包安装,需具备配置相关操作。 --------…...
C++ 使用CURL开源库实现Http/Https的get/post请求进行字串和文件传输
CURL开源库介绍 CURL 是一个功能强大的开源库,用于在各种平台上进行网络数据传输。它支持众多的网络协议,像 HTTP、HTTPS、FTP、SMTP 等,能让开发者方便地在程序里实现与远程服务器的通信。 CURL 可以在 Windows、Linux、macOS 等多种操作系…...
面试题-SpringCloud的启动流程
关键词 prepareEnvironmentBootstrapApplicationListenerBootStrap Context(启动应用上下文)Environment中bootstrap属性 面试回答 引入SpringCloud相关组件后,均会引入一个spring-cloud-context的依赖包,这个项目的META-INF/s…...
MySQL基础知识
目录 一.什么是MySQL 二.分布式系统中的身份转换 三.MySQL是如何存储数据的 四.什么是数据库的命令 一.什么是MySQL MySQL是一个“客户端(client) - 服务器(server)”结构的软件(数据库软件)。 客户端&am…...
nas-群晖docker查询注册表失败解决办法(平替:使用SSH命令拉取ddns-go)
目录 前言必读 一、遇到问题 二、操作步骤 (一)打开群晖系统的SSH服务? (二)Windows电脑本地下载安装putty? 输入登录账号密码 开启root权限 例子:使用命令行下载ddns-go? 前言必读 读者手册(必…...
GSMA SGP.31 eSIM IoT 架构与需求笔记
GSMA SGP.31 eSIM IoT 架构与需求笔记 (版本 1.2,2024 年 4 月 26 日) 一、 概述 1. 文档目的: 本文件旨在为网络受限和/或用户界面 (UI) 受限的物联网 (IoT) 设备中的嵌入式通用集成电路卡 (eUICC) 提供远程配置架构和需求规范。 2. 主要内容&#…...
sql版本序列号
SQL Server 2019 Enterprise密钥:HMWJ3-KY3J2-NMVD7-KG4JR-X2G8G SQL Server 2019 Enterprise Core密钥:2C9JR-K3RNG-QD4M4-JQ2HR-8468J SQL Server 2019 Standard密钥:PMBDC-FXVM3-T777P-N4FY8-PKFF4 SQL Server 2019 Web密钥:33…...
vue2-nextTick
这里是引用 vue2-nextTick 1. 什么是nextTick 先来看官方定义 在下次DOM更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的DOM云里雾里,啥意思呢,其实本质就是事件循环、同步和异步的问题不懂事件循环相关问题的…...
【其他专题】如何在线将PNG转ICO图标
在我们编程打包成exe时,可能需要一些图标文件。但往往我们下载的图标文件是.png或是其他格式的,是不能用于做图标文件的,因为图标文件往往是.ico文件。 比如下图所示的.png文件,我们怎么快速的将它转为ico文件呢? 首先…...
2019_AutoInt
AutoInt:通过自注意神经网络进行自动特征交互学习 创新点复现论文0摘要1介绍2相关工作2.1点击率预测2.2学习特征交互2.3注意力和残差网络 3问题定义4自动特征交互学习4.1概述4.2输入层4.3嵌入层4.4交互层4.5输出层 4.6训练4.7 AutoInt分析 5实验5.1实验装置5.2定量结…...
HAL库 Systick定时器 基于STM32F103EZT6 野火霸道,可做参考
目录 1.时钟选择(这里选择高速外部时钟) 编辑 2.调试模式和时基源选择: 3.LED的GPIO配置 这里用板子的红灯PB5 4.工程配置 5.1ms的systick中断实现led闪烁 源码: 6.修改systick的中断频率 7.systick定时原理 SysTick 定时器的工作原理 中断触发机制 HAL_SYSTICK_Co…...
使用 Postman 进行 API 测试:从入门到精通
使用 Postman 进行 API 测试:从入门到精通 使用 Postman 进行 API 测试:从入门到精通一、什么是 API 测试?二、Postman 简介三、环境搭建四、API 测试流程1. 收集 API 文档2. 发送基本请求示例:发送 GET 请求示例代码(…...
K8s 分布式存储后端(K8s Distributed Storage Backend)
K8s 分布式存储后端 在 K8s 中实现分布式存储后端对于管理跨集群的持久数据、确保高可用性、可扩展性和可靠性至关重要。在 K8s 环境中,应用程序通常被容器化并跨多个节点部署。虽然 K8s 可以有效处理无状态应用程序,但有状态应用程序需要持久存储来维护…...
基于docker搭建Kafka集群,使用KRaft方式搭建,摒弃Zookeeper
KAFKA基于docker使用KRaft进行集群搭建 环境:已成功搭建kafka服务 可点击链接跳转至安装kafka-3.8.0版本 并启用SASL认证 教程 使用基于Zookeeper方式搭建集群教程 kafka-3.8.0版本 并启用SASL认证 教程 搭建kafka-ui可视化工具 192.168.2.91 192.168.2.92 192…...
极简风项目交付倒计时!:紧急修复MJ --v 6.2中隐藏的1.33倍宽高比偏移Bug,避免客户验收驳回(含补救Prompt包)
更多请点击: https://intelliparadigm.com 第一章:极简风项目交付倒计时! 当交付周期压缩至 72 小时,极简风不再是一种美学选择,而是工程效率的刚性约束。我们摒弃冗余文档、跳过非核心评审环节,聚焦于可…...
【限时公开】后印象派专属--ar 16:9 --style raw --stylize 800参数组合包(含塞尚构图/修拉点彩/劳特累克动态线共12套已验证prompt模板)
更多请点击: https://intelliparadigm.com 第一章:后印象派艺术精神与Midjourney风格迁移的本质逻辑 后印象派并非对印象派的简单延续,而是对主观表达、结构重构与象征张力的自觉回归——梵高旋转的星云、塞尚凝练的几何体、高更原始的色域&…...
Linuxbonding链路稳定性治理方法
Linuxbonding链路稳定性治理方法这是一篇面向中级 Linux 使用者的技术文章,主题聚焦在bonding链路,重点讨论链路聚合、冗余切换和接口状态。在真实生产环境中,bonding链路相关问题往往不会以单一错误形式出现,而是混杂在日志、权限…...
开源银行API模拟器Bankr Buddy:金融科技开发的本地化测试解决方案
1. 项目概述:一个为开发者准备的银行API模拟器如果你正在开发一个需要与银行账户数据打交道的应用,无论是个人财务管理工具、预算分析软件,还是企业级的财务聚合服务,你肯定遇到过同一个难题:如何在不触碰真实用户敏感…...
dotai:将AI大模型无缝集成到Shell终端的智能助手工具
1. 项目概述:当AI遇上你的终端如果你是一个重度命令行用户,每天在终端里敲击着ls、cd、git commit这些命令,有没有那么一瞬间,希望有个助手能帮你自动补全、解释命令,甚至直接帮你写出复杂的管道操作?dotai…...
PCL2启动器离线登录按钮消失?5分钟快速修复指南
PCL2启动器离线登录按钮消失?5分钟快速修复指南 【免费下载链接】PCL Minecraft 启动器 Plain Craft Launcher(PCL)。 项目地址: https://gitcode.com/gh_mirrors/pc/PCL 你是否遇到过PCL2启动器离线登录按钮突然消失的困扰࿱…...
Mantic.sh:AI驱动的智能命令行工具,让自然语言生成终端命令
1. 项目概述:一个为开发者打造的智能终端伴侣 如果你和我一样,每天有超过一半的工作时间是在终端(Terminal)里度过的,那你一定对效率有着近乎偏执的追求。敲命令、查日志、管理进程、部署服务……这些重复且琐碎的操作…...
基于CircuitPython与NeoPixel打造可编程LED亚克力灯牌:从硬件选型到代码实现
1. 项目概述:打造你的专属可编程光之铭牌在创客和电子爱好者的世界里,总有一些项目能完美地融合软件编程的灵活性与硬件制作的实体成就感。今天要分享的,就是这样一个让我爱不释手的小玩意儿:一个基于CircuitPython和NeoPixel的可…...
Cursor-Tap插件:一键AI代码重构与文档生成实战指南
1. 项目概述:一个为 Cursor 编辑器注入灵魂的插件如果你和我一样,日常重度依赖 Cursor 这款 AI 驱动的代码编辑器,那你一定体会过那种“就差一点”的微妙感受。Cursor 的 AI 能力确实强大,但它的交互方式有时会让人感觉像是在和一…...
基于LangGraph构建智能邮件自动化系统:从工作流引擎到AI集成实践
1. 项目概述:用LangGraph构建一个智能邮件自动化系统最近在折腾一个挺有意思的东西,一个基于LangGraph框架的邮件自动化系统。这玩意儿本质上是一个智能化的邮件处理流水线,它能自动读取、理解、分类你的邮件,然后根据预设的规则或…...
