当前位置: 首页 > news >正文

还在用nvm?来试试更快的node版本管理工具——fnm

前言

 📫 大家好,我是南木元元,热衷分享有趣实用的文章,希望大家多多支持,一起进步!

 🍅 个人主页:南木元元


目录

什么是node版本管理

常见的node版本管理工具

fnm是什么

安装fnm

macOS和Linux系统

使用脚本

手动安装

Windows系统

fnm的使用

安装和卸载

查看版本

 使用指定版本

设置别名

结语


什么是node版本管理

Node.js是一个开源的、跨平台的 JavaScript 运行时环境,允许我们将js代码运行在服务端,在前端开发中具有十分重要的地位。

在计算机上安装 Node.js 时,通常会直接到nodejs官网进行下载安装,但是这会存在两个问题:

  • node的版本迭代是很快的,必须定期检查更新是否可用,并且每次有更新可用时,都必须卸载旧版本重新安装新版本的node,会浪费时间和精力。
  • 一台电脑上不能同时安装不同版本的node,这在某些情况下是个问题,例如,某个项目依赖于Node v16,而另一个应用使用Node v18

这就需要我们使用node版本管理工具,实现轻松地在node版本之间进行切换。

常见的node版本管理工具

如今市场上其实存在很多的node版本管理工具,比如nvm、n、nvs等,其中当属nvm最为流行。记得在2021年的时候,我也写过一篇nvm的安装和使用,时过境迁,nvm虽好,但是也有一些缺点:

  • 下载Node版本,速度较慢。
  • 无法跨平台,在window环境需要nvm-windows库,并且这个库不受官方支持。

而这些,fnm——也就是我们今天的主角,都能很好地解决。

fnm是什么

🚀 快速简单的 Node.js 版本管理器,用 Rust 构建。

下图来自fnm官网: 

fnm的特点是:

  • 跨平台支持(macOS、Windows、Linux)
  • 使用 Rust 编写,速度快。
  • 单文件,轻松安装,即时启动。

安装fnm

macOS和Linux系统

使用脚本

fnm团队捆绑了一个安装脚本,使下载软件变得轻而易举,终端使用如下命令一键安装:

curl -fsSL https://fnm.vercel.app/install | bash

此外,我们还可以自行安装。

手动安装

可以直接 brew install fnm安装:

brew install fnm

但需要配置Shell环境:

# 若自行安装,则需手动添加到 .zshrc 或 .bashrc
eval "$(fnm env --use-on-cd)"

Windows系统

Windows可以通过Winget、Scoop、Chocolatey等工具来安装:

也可以直接去发布页面下载对应的exe文件。

然后也需要配置对应的命令行环境。具体的安装过程还是比较繁琐的,这里就不展开了,可以参考文档或Windows上使用fnm安裝Node.js。

完成后,终端中输入fnm验证是否安装成功。

fnm

出现下面这个界面:

代表我们已经成功安装了!

注意:Windows安装比较麻烦,所以Windows建议使用Linux on Windows with WSL2,能避免非常多的问题,或者继续用nvm-windows。

fnm的使用

安装和卸载

安装指定版本的node:

fnm install 16.12.0

安装最新版本的node:

fnm install --latest

安装LTS版本的node:

fnm install --lts

使用uninstall来卸载指定版本的node:

fnm uninstall 16.12.0

查看版本

查看所有可下载的Node版本:

fnm ls-remote

查看本地安装的node版本:

fnm list

如上,我本地安装了14、16、18三个版本的node。

 使用指定版本

设置全局默认版本:

fnm default 16.12.0

在当前Shell使用指定版本:

fnm use 16.12.0

设置别名

如果我们本地有很多项目,此时,我们就可以借助alias来为特定版本的Node起一个别名,不需要记住多个 Node版本。语法如下:

fnm alias <version> <name>

比如:

fnm alias 16.12.0 my-project

上面的命令将my-project别名分配给Node版本16.12.0。

结语

🔥如果此文对你有帮助的话,欢迎💗关注、👍点赞、⭐收藏✍️评论支持一下博主~  

相关文章:

还在用nvm?来试试更快的node版本管理工具——fnm

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热衷分享有趣实用的文章&#xff0c;希望大家多多支持&#xff0c;一起进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 目录 什么是node版本管理 常见的node版本管理工具 fnm是什么 安装fnm …...

【Hadoop精讲】HDFS详解

目录 理论知识点 角色功能 元数据持久化 安全模式 SecondaryNameNode(SNN) 副本放置策略 HDFS写流程 HDFS读流程 HA高可用 CPA原则 Paxos算法 HA解决方案 HDFS-Fedration解决方案&#xff08;联邦机制&#xff09; 理论知识点 角色功能 元数据持久化 另一台机器就…...

企业需要哪些数字化管理系统?

企业需要哪些数字化管理系统&#xff1f; ✅企业引进管理系统肯定是为了帮助整合和管理大量的数据&#xff0c;从而优化业务流程&#xff0c;提高工作效率和生产力。 ❌但是&#xff0c;如果各个系统之间不互通、无法互相关联数据的话&#xff0c;反而会增加工作量和时间成本…...

【vue】开发常见问题及解决方案

有一些问题不限于 Vue&#xff0c;还适应于其他类型的 SPA 项目。 1. 页面权限控制和登陆验证页面权限控制 页面权限控制是什么意思呢&#xff1f; 就是一个网站有不同的角色&#xff0c;比如管理员和普通用户&#xff0c;要求不同的角色能访问的页面是不一样的。如果一个页…...

飞天使-k8s知识点3-卸载yum 安装的k8s

要彻底卸载使用yum安装的 Kubernetes 集群&#xff0c;您可以按照以下步骤进行操作&#xff1a; 停止 Kubernetes 服务&#xff1a; sudo systemctl stop kubelet sudo systemctl stop docker 卸载 Kubernetes 组件&#xff1a; sudo yum remove -y kubelet kubeadm kubectl…...

ZooKeeper 集群搭建

文章目录 ZooKeeper 概述选举机制搭建前准备分布式配置分布式安装解压缩并重命名配置环境配置服务器编号配置文件 操作集群编写脚本运行脚本搭建过程中常见错误 ZooKeeper 概述 Zookeeper 是一个开源的分布式服务协调框架&#xff0c;由Apache软件基金会开发和维护。以下是对Z…...

Meson:现代的构建系统

Meson是一款现代化、高性能的开源构建系统&#xff0c;旨在提供简单、快速和可读性强的构建脚本。Meson被设计为跨平台的&#xff0c;支持多种编程语言&#xff0c;包括C、C、Fortran、Python等。其目标是替代传统的构建工具&#xff0c;如Autotools和CMake&#xff0c;提供更简…...

【大模型AIGC系列课程 5-2】视觉-语言大模型原理

重磅推荐专栏: 《大模型AIGC》;《课程大纲》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经验分享,旨在…...

震惊!难怪别人家的孩子越来越聪明,原来竟是因为它

前段时间工作调动给孩子换了个新学校&#xff0c;刚开始担心她不能适应新学校的授课方式&#xff0c;但任课老师对她评价很高&#xff0c;夸她上课很专注。 为了训练孩子的专注力&#xff0c;作为家长可没少下功夫&#xff0c;画画&#xff0c;下五子棋等益智游戏的兴趣班没少…...

Linux操作系统(UMASK+SUID+SGID+STICK)

UMASK反掩码 如何查看反掩码&#xff1a;直接在终端窗口运行 umask root用户反掩码&#xff1a;0022 普通用户反掩码&#xff1a;0002 UMASK的作用&#xff1a;确定目录&#xff0c;文件的缺省权限值 以root身份创建目录&#xff0c;观察目录的9位权限值 以root身份创建普通文件…...

Java 中单例模式的常见实现方式

目录 一、什么是单例模式&#xff1f; 二、单例模式有什么作用&#xff1f; 三、常见的创建单例模式的方式 1、饿汉式创建 2、懒汉式创建 3、DCL&#xff08;Double Checked Lock&#xff09;双检锁方式创建 3.1、synchronized 同步锁的基本使用 3.2、使用 DCL 中存在的疑…...

【C语言】自定义类型之联合和枚举

目录 1. 前言2. 联合体2.1 联合体类型的声明2.2 联合体的特点2.3 相同成员的结构体和联合体对比2.4 联合体大小的计算2.4 判断当前机器的大小端 3. 枚举3.1 枚举类型的声明3.2 枚举类型的优点3.3 枚举类型的使用 1. 前言 在之前的博客中介绍了自定义类型中的结构体&#xff0c;…...

使用Mosquitto/python3进行MQTT连接

一、简介 MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上&#xff0c;是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议&#xff0c;为此&#xff0c;它需要一个消息中间件。 …...

JavaWeb笔记之前端开发HTML

一、引言 1.1HTML概念 网页&#xff0c;是网站中的一个页面&#xff0c;通常是网页是构成网站的基本元素&#xff0c;是承载各种网站应用的平台。通俗的说&#xff0c;网站就是由网页组成的。通常我们看到的网页都是以htm或html后缀结尾的文件&#xff0c;俗称 HTML文件。 …...

通过IP地址定位解决被薅羊毛问题

随着互联网的普及&#xff0c;线上交易和优惠活动日益增多&#xff0c;这也为一些不法分子提供了可乘之机。他们利用技术手段&#xff0c;通过大量注册账号或使用虚假IP地址进行异常操作&#xff0c;以获取更多的优惠或利益&#xff0c;这种行为被称为“薅羊毛”。对于企业和平…...

Leetcode 122 买卖股票的最佳时机 II

题意理解&#xff1a; 已知&#xff1a;一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格 如何哪个时间点买入&#xff0c;哪个时间点卖出&#xff0c;多次交易&#xff0c;能够收益最大化 目的&#xff1a;收益最大化 解题思路&#xff1a; 使用贪心…...

音频文件合成

音频文件合成 音频文件合成 http://ffmpeg.org/download.html https://blog.csdn.net/u013314786/article/details/89682800 http://www.360doc.com/content/19/0317/01/10519289_822112563.shtml https://chaijunkun.blog.csdn.net/article/details/116491526?spm1001.210…...

20231220将NanoPC-T4(RK3399)开发板的Android10的SDK按照Rockchip官方挖掘机开发板编译打包刷机之后启动跑飞

20231220将NanoPC-T4(RK3399)开发板的Android10的SDK按照Rockchip官方挖掘机开发板编译打包刷机之后启动跑飞 2023/12/20 17:19 简略步骤&#xff1a;rootrootrootroot-X99-Turbo:~/3TB$ tar --use-compress-programpigz -xvpf rk3399-android-10.git-20210201.tgz rootrootro…...

vivo 容器平台资源运营实践

作者&#xff1a;vivo 互联网服务器团队 - Chen Han 容器平台针对业务资源申请值偏大的运营问题&#xff0c;通过静态超卖和动态超卖两种技术方案&#xff0c;使业务资源申请值趋于合理化&#xff0c;提高平台资源装箱率和资源利用率。 一、背景 在Kubernetes中&#xff0c;容…...

ASP.NET Core面试题之Redis高频问题

&#x1f388;&#x1f388;在.NET后端开发岗位中&#xff0c;如今也少不了、微服务、分布式、高并发高可用相关的面试题&#x1f388;&#x1f388; &#x1f44d;&#x1f44d;本文分享一些整理的Redis高频面试题&#x1f389; &#x1f44d;&#x1f44d;机会都是给有准备…...

个人开发者如何利用 Taotoken 管理多个项目的 AI 调用成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 个人开发者如何利用 Taotoken 管理多个项目的 AI 调用成本 对于独立开发者或自由职业者而言&#xff0c;同时维护多个小型项目是常…...

ppt模板_0013_66tm黑色--运动

PPT模板分享...

CV顶会周度精选:7篇驱动工业落地的视觉模型新范式

1. 这不是论文速读清单&#xff0c;而是一份“视觉模型进化切片报告” 你点开这篇标题&#xff0c;大概率是想快速抓住过去七天里计算机视觉领域真正值得花时间的几篇新工作——不是刷榜论文&#xff0c;不是工程缝合怪&#xff0c;而是那种读完会让人下意识摸键盘、想立刻跑个…...

从帧结构到数据解析:深入理解CJ/T 188 MBUS水表通信协议

1. MBUS协议与水表通信基础 第一次接触CJ/T 188 MBUS协议时&#xff0c;我完全被那一串串十六进制报文搞懵了。FE FE FE 68开头的报文到底在说什么&#xff1f;为什么水表厂商给的文档读起来像天书&#xff1f;经过几个项目的实战&#xff0c;我发现只要掌握几个关键点&#xf…...

工控人必备技能:VMware虚拟机+Win10+博途V15完整开发环境搭建实录(从镜像下载到PLC在线)

工控工程师的移动工作站&#xff1a;VMwareWin10博途V15全栈开发环境实战指南 在工业自动化领域&#xff0c;能够随时随地进行PLC程序开发和调试的能力已经成为工程师的核心竞争力。想象这样一个场景&#xff1a;深夜接到产线紧急故障通知&#xff0c;而你的开发环境却锁在办公…...

中文智能体协作框架agency-agents-zh:从原理到实战搭建多AI智能体系统

1. 项目概述&#xff1a;一个中文智能体协作框架的诞生最近在开源社区里&#xff0c;一个名为jnMetaCode/agency-agents-zh的项目引起了我的注意。作为一名长期关注AI应用落地的开发者&#xff0c;我深知“智能体”这个概念从学术论文走向实际工程应用&#xff0c;中间隔着巨大…...

为什么92%的实时数仓项目在2025Q4突然转向AI原生平台?——奇点大会12家头部企业联合验证数据披露

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI原生实时计算平台&#xff1a;2026奇点智能技术大会流批一体实践 在2026奇点智能技术大会上&#xff0c;新一代AI原生实时计算平台正式发布&#xff0c;其核心突破在于将大模型推理调度、向量流式计算…...

刘教链|百万美刀的比特币:VanEck的预言与微策略的进化困境

BTC在8万刀附近磨了一周。就在市场踟蹰不前的时候&#xff0c;VanEck抛出一个大胆的预测[1]。一、VanEck的百万预言5月9日&#xff0c;VanEck的投资主管Matthew Sigel说了一番话。他认为比特币会在下一届美国总统任期结束前达到100万美刀[1]&#xff0c;算下来大概是2031年前后…...

全方位降本增效,Captain AI重构OZON运营成本结构

当前OZON市场竞争日趋激烈&#xff0c;人力、物流、广告、库存等各项运营成本持续攀升&#xff0c;利润空间不断压缩&#xff0c;“降本”与“增效”成为商家生存发展的核心命题。不同于单一工具仅能优化某一项成本&#xff0c;Captain AI立足OZON商家全运营场景&#xff0c;以…...

非确定有限自动机—计算机等级考试—软件设计师考前备忘录—东方仙盟

1. 先明确&#xff1a;圆圈里的数字是什么&#xff1f;圆圈里的 0,1,2,3,4,5 是状态编号&#xff0c;不是输入符号&#xff0c;也不是要识别的字符串内容。比如 状态0 是起始状态&#xff0c;状态5 是终止&#xff08;接受&#xff09;状态。箭头边上的 0,1,ε 才是输入符号&am…...