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 版本号

复制

安装记录

相关推荐
yeziyfx5 分钟前
kotlin中 ?:的用法
android·开发语言·kotlin
charlie11451419115 分钟前
嵌入式的现代C++教程——constexpr与设计技巧
开发语言·c++·笔记·单片机·学习·算法·嵌入式
古城小栈31 分钟前
Rust 网络请求库:reqwest
开发语言·网络·rust
JavaGuide33 分钟前
SpringBoot 官宣停止维护 3.2.x~3.4.x!
java·后端
hqwest1 小时前
码上通QT实战12--监控页面04-绘制6个灯珠及开关
开发语言·qt·qpainter·qt事件·stackedwidget
i橡皮擦1 小时前
TheIsle恐龙岛读取游戏基址做插件(C#语言)
开发语言·游戏·c#·恐龙岛·theisle
Victor3561 小时前
Hibernate(39)Hibernate中如何使用拦截器?
后端
Victor3561 小时前
Hibernate(40)Hibernate的命名策略是什么?
后端
bing.shao1 小时前
golang 做AI任务执行
开发语言·人工智能·golang