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


相关推荐
子兮曰1 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰1 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万1 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝1 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋1 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁1 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95271 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大1 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师1 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学1 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端