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

复制

安装记录

相关推荐
弹简特6 分钟前
【零基础学Python】08-Python面向对象之封装、多态和函数进阶
开发语言·python
人道领域9 分钟前
一篇文章解决Codex的安装,实操一遍过
java·开发语言·codex
道友可好9 分钟前
Spec Kit:GitHub 官方出品,规范即代码
前端·人工智能·后端
货拉拉技术13 分钟前
货拉拉标注平台-拉拉标注
后端·架构
thisiszdy14 分钟前
<C++> 智能指针
开发语言·c++
fox_lht17 分钟前
第十四章 一个输入和输出项目:构建一个命令行程序
开发语言·后端·rust
郑州光合科技余经理22 分钟前
海外版外卖系统:如何快速搭建国际化外卖平台
java·开发语言·前端·人工智能·小程序·系统架构·php
Cheng小攸24 分钟前
协议分析与分析工具(一)
开发语言·php
fox_lht26 分钟前
14.2.读文件
开发语言·后端·rust
codeejun27 分钟前
每日一Go-74、Go 云原生可观测性实战之OpenTelemetry 全链路采集:Trace + Metrics + Logs
开发语言·云原生·golang