当前位置: 首页 > news >正文

Windows 系统中使用 fnm 安装 Node.js 的完整指南

在开发 JavaScript 应用时,管理不同版本的 Node.js 是一项常见需求。Fast Node Manager (fnm) 是一款轻量级的 Node.js 版本管理工具,它让我们能够轻松地在不同版本之间切换。本文将详细介绍如何在 Windows 系统中使用 fnm 安装和配置 Node.js。

安装步骤

1. 安装 fnm

首先,我们需要使用 Windows 包管理器 (winget) 安装 fnm:

# 下载并安装 fnm
winget install Schniz.fnm

2. 安装 Node.js

安装 fnm 后,我们可以使用它来安装 Node.js:

# 下载并安装 Node.js
fnm install 20

3. 配置 fnm 环境

这是关键的一步,很多用户在这里会遇到问题。我们需要正确配置 PowerShell 环境以使用 fnm:

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

# 编辑 PowerShell 配置文件
notepad $PROFILE

在打开的配置文件中添加以下内容:

# 添加到 PowerShell 配置文件
fnm env --use-on-cd | Out-String | Invoke-Expression

保存并关闭文件后,重新加载配置文件:

. $PROFILE

4. 选择要使用的 Node.js 版本

配置环境后,我们可以指定要使用的 Node.js 版本:

fnm use 20

如果希望将此版本设为默认版本,可以运行:

fnm default 20

5. 验证安装

最后,验证 Node.js 和 npm 是否已正确安装:

# 验证 Node.js 版本
node -v # 应显示 "v20.19.0"

# 验证 npm 版本
npm -v # 应显示 "10.8.2"

常见问题与解决方案

问题:命令未找到错误

如果遇到类似以下的错误:

无法将"node"项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

这通常表示 Node.js 二进制文件未添加到系统 PATH 中。

解决方案:

  1. 确保 fnm 环境设置正确添加到 PowerShell 配置文件中
  2. 重新加载 PowerShell 配置文件或重启 PowerShell
  3. 使用 fnm use 20 激活 Node.js 版本

问题:环境变量错误

如果遇到以下错误:

error: We can't find the necessary environment variables to replace the Node version.

解决方案:

确保正确设置了 PowerShell 配置文件,并且包含了 fnm env --use-on-cd | Out-String | Invoke-Expression 这一行。

在某些情况下,您可能需要完全重启 PowerShell 会话才能使配置生效。

总结

使用 fnm 管理 Node.js 版本是一种高效的方法,特别适合需要在不同项目中使用不同版本 Node.js 的开发者。通过正确配置 PowerShell 环境,我们可以轻松地在各个版本之间切换,而无需手动修改系统 PATH 或重新安装。

希望本指南能帮助您在 Windows 系统上顺利安装和配置 Node.js。如有任何问题,欢迎在评论区留言讨论!

http://www.dtcms.com/a/98136.html

相关文章:

  • 为什么idea显示数据库连接成功,但操作数据库时,两边数据不同步
  • Vite 开发服务器存在任意文件读取漏洞
  • Selenium文件上传
  • 使用 Avada 主题创建动态内容展示的技术指南
  • 尚硅谷面向对象篇笔记记录
  • 密文搜索 | 第六届蓝桥杯国赛C++B组
  • GMP调度模型
  • GAMMA数据处理(十)
  • RabbitMQ高级特性--发送方确认
  • AIOHTTP
  • 2025年3月电子学会c++五级真题
  • GOF23种设计模式
  • 树莓派5智能家居中控:HomeAssistant全配置指南
  • 笔记:基于环境语义的通感融合技术,将传统通信由“被动接收”转为“主动感知”
  • synchronized锁与lock锁的区别
  • 实变函数:集合与子集合一例(20250329)
  • JavaFX基础- Button 的基本使用
  • Linux进程管理之子进程的创建(fork函数)、子进程与线程的区别、fork函数的简单使用例子、子进程的典型应用场景
  • 【19期获取股票数据API接口】如何用Python、Java等五种主流语言实例演示获取股票行情api接口之沪深A股实时交易数据及接口API说明文档
  • 参加李继刚线下活动启发:未来提示词还会存在吗?
  • 【初阶数据结构】线性表之双链表
  • 【数电】半导体存储电路
  • 基于Linux平台安装部署Redis全教程
  • 生物化学笔记:医学免疫学原理09 白细胞分化抗原+黏附分子
  • Supplements of My Research Proposal: My Perspectives on the RAG
  • 数据结构:探秘AVL树
  • 【华为OD技术面试真题 - 技术面】- Java面试题(15)
  • Android开发中的数据结构与算法:排序算法
  • TCP协议与wireshark抓包分析
  • 如何封装一个上传文件组件