fnm:Rust开发的高效Node版本管理工具

简介

fnm 是一个基于 Rust 开发的 Node 版本管理工具,它的目标是提供一个快速、简单且可靠的方式来管理 Node.js 的不同版本。同时,它是跨平台的,支持 macOS、Linux、Windows。🚀 Fast and simple Node.js version manager, built in Rust.

特点

  1. 快速:fnm 使用 Rust 编写,因此它在执行速度上比其他 Node 版本管理工具更快。
  2. 简单:fnm 的命令行接口简单易用,可以轻松地安装、切换和卸载 Node.js 版本。
  3. 可靠:fnm 使用 Node.js 的官方二进制文件来安装 Node.js 版本,因此它是可靠且与官方版本兼容的。

安装

第一种方式:wsl安装
复制代码
# 初始安装
curl -fsSL https://fnm.vercel.app/install | bash
 
# 后续升级
curl -fsSL https://fnm.vercel.app/install | bash -s -- --skip-shell
 
# ~/.zshrc 修改
# 支持自动根据项目 .nvmrc 文件自动切换版本,使用镜像避免可能存在的 fnm install 问题
- eval "$(fnm env)"
+ eval "$(fnm env --use-on-cd --node-dist-mirror=https://repo.huaweicloud.com/nodejs/)"

复制

第二种方式:直接下载安装

1、下载 fnm.exe,放入 D 盘 D:\fnm,将其目录加入环境变量 path 中

2、使用 powershell 来执行 fnm 命令

3、将以下内容添加到配置文件的末尾

配置文件路径:

复制代码
fnm env --use-on-cd | Out-String | Invoke-Expression

复制

fnm 使用

用 fnm 安装 Node
复制代码
# 安装 LTS 版本
$ fnm install --lts

# 安装指定大版本的最新版本
$ fnm install 18

# 安装指定版本
$ fnm install 18.21.1

复制

相反地,可通过 fnm uninstall <version>fnm uninstall <alias-name> 来删除指定版本,后者会同时移除别名。

通过 fnm 来指定 Node 版本
复制代码
# 使用系统版本
$ fnm use system

# 使用 fnm 所安装,且版本号为 18.21.1 的 Node 程序
$ fnm use 18.21.1

# 使用 fnm 所安装,且主版本号为 18 的最新版本的 Node 程序
$ fnm use 18

复制

只要用 fnm use <version> 指定后,每次启动 Shell 将会默认使用对应的 Node 版本。

设置别名
复制代码
# 形式如:fnm alias <指定版本号> <别名>
$ fnm alias 18.21.1 v18

# 设置别名后,可以简化指令为:
$ fnm use v18

复制

常用命令
复制代码
# 命令帮助
fnm --help

# node 已安装列表
fnm list

# node 安装
fnm install 版本号(支持模糊/lts)

# node 卸载
fnm uninstall 版本号

# node 切换
fnm use 版本号

# node 设置默认
fnm default 版本号

复制

安装记录

相关推荐
m0_694845571 天前
VoxCPM部署教程:构建AI语音交互系统
服务器·人工智能·后端·自动化
Rust研习社1 天前
Rust 是如何判断对象是否相等的?一起来聊一聊 PartialEq 与 Eq
后端·rust·编程语言
我叫黑大帅1 天前
TCP 长连接服务:登录注册认证体系实战指南
后端·面试·go
亚空间仓鼠1 天前
Python学习日志(四):实例
开发语言·python·学习
Fanfanaas1 天前
Linux 系统编程 进程篇 (二)
linux·运维·服务器·c语言·开发语言·学习
油丶酸萝卜别吃1 天前
高效处理数组差异:JS中新增、删除、交集的最优解(Set实现)
开发语言·前端·javascript
HoneyMoose1 天前
Npmp 安装时候提示警告: error (ERR_INVALID_THIS)
开发语言
gskyi1 天前
时间格式化神器:智能显示相对时间
开发语言·javascript·ecmascript
我叫黑大帅1 天前
TCP通信 - 处理 TCP 流中的消息分片
后端·面试·go
古城小栈1 天前
Rust在当下AI领域的用武之地:从底层加速到上层应用全解析
开发语言·人工智能·rust