Windows系统中使用fnm自动管理node版本

1. 安装 fnm

  • 使用 Windows 包管理器 Winget:

    复制代码
    winget install Schniz.fnm

安装完成后,fnm 的可执行文件大致已在你的系统中,但 还没完全"生效" ,因为还要做 Shell 配置。


2. 配置 PowerShell

允许执行脚本 & 在配置文件里载入 fnm 环境命令。

2.1 允许执行脚本

打开 PowerShell(可用管理员权限,但一般「当前用户」级别就够)然后执行:

sql 复制代码
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

这样可以让你的用户可以执行脚本。

2.2 编辑 PowerShell 配置文件(Profile)

在 PowerShell 中运行以下命令以打开(或创建)你的 profile 文件:

bash 复制代码
if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }
Invoke-Item $PROFILE

然后在这个文件末尾添加下面这行:

css 复制代码
fnm env --use-on-cd --shell --resolve-engines powershell | Out-String | Invoke-Expression

这样做的目的:当你打开 PowerShell 或切换目录时,fnm 会设置好环境变量,以便 node/npm 路径正确并且切换版本生效。将 package.json#engines#node 视为有效的 Node.js 版本文件。然后关闭 PowerShell,再重新打开一个新窗口以让配置生效。 其他配置可见:github.com/Schniz/fnm/...


3. 使用 fnm 来安装 &切换 Node.js 版本

配置完毕后,就可以开始使用 fnm 来管理版本。下面是常用命令:

  • 安装某个版本:

    bash 复制代码
    fnm install 18.20.4
    # 或安装最新 LTS:
    fnm install --lts
  • 切换使用某个版本(当前 shell 会话立即生效):

    perl 复制代码
    fnm use 18.20.4
  • 查看当前使用的 Node 版本:

    sql 复制代码
    fnm current
  • 列出已安装版本:

    bash 复制代码
    fnm ls
  • 列出可安装的远程版本:

    复制代码
    fnm ls-remote
  • 设置某个版本为默认:

    arduino 复制代码
    fnm default 22.13.1
  • 在项目中指定版本:在项目根目录创建一个 .node-version(或 .nvmrc)文件,内容是版本号,例如 v18.20.4,然后每次进入该目录时 fnm 会自动切换(前提你配置了 --use-on-cd


相关推荐
JIngJaneIL12 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
敲敲了个代码12 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
澄江静如练_13 小时前
列表渲染(v-for)
前端·javascript·vue.js
JustHappy13 小时前
「chrome extensions🛠️」我写了一个超级简单的浏览器插件Vue开发模板
前端·javascript·github
Loo国昌13 小时前
Vue 3 前端工程化:架构、核心原理与生产实践
前端·vue.js·架构
sg_knight13 小时前
拥抱未来:ECMAScript Modules (ESM) 深度解析
开发语言·前端·javascript·vue·ecmascript·web·esm
LYFlied13 小时前
【每日算法】LeetCode 17. 电话号码的字母组合
前端·算法·leetcode·面试·职场和发展
开发者小天13 小时前
react中useEffect的用法,以及订阅模式的原理
前端·react.js·前端框架
前端白袍14 小时前
Vue:如何实现一个具有复制功能的文字按钮?
前端·javascript·vue.js