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

复制

安装记录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2980632.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【QT进阶】Qt http编程之实现websocket server服务器端

往期回顾 【QT进阶】Qt http编程之json解析的简单介绍-CSDN博客 【QT进阶】Qt http编程之nlohmann json库使用的简单介绍-CSDN博客 【QT进阶】Qt http编程之websocket的简单介绍-CSDN博客 【QT进阶】Qt http编程之实现websocket server服务器端 一、最终效果 通过ip地址和端口…

的记忆:pandas(实在会忘记,就看作是一个 Excel 表格,或者是 SQL 表,或者是字典的字典。)

pandas 是一个开源的 Python 数据分析库&#xff0c;它提供了快速、灵活和富有表现力的数据结构&#xff0c;旨在使“关系”或“标记”数据的“快速分析、清洗和转换”变得既简单又直观。pandas 非常适合于数据清洗和转换、数据分析和建模等任务。以下是 pandas 的基本概念和主…

6DoF位姿估计深度学习架构---以FFB6D算法为例(复现)

说明 在位姿估计的学习过程中&#xff0c;发现不同算法的代码架构相差非常大&#xff0c;有的算法考虑通用性和可扩展性&#xff0c;进行了大量的模块化设计和继承&#xff0c;这对代码调试和复现工作带来很大麻烦。因此&#xff0c;为了便于算法复现与改进&#xff0c;本人参…

【视频异常检测】Open-Vocabulary Video Anomaly Detection 论文阅读

Open-Vocabulary Video Anomaly Detection 论文阅读 AbstractMethod3.1. Overall Framework3.2. Temporal Adapter Module3.3. Semantic Knowledge Injection Module3.4. Novel Anomaly Synthesis Module3.5. Objective Functions3.5.1 Training stage without pseudo anomaly …

智慧安防视频监控EasyCVR视频汇聚平台无法自动播放视频的原因排查与解决

国标GB28181协议EasyCVR安防视频监控平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力&#xff0c;平台支持7*24小时实时高清视频监控&#xff0c;能同时播放多路监控视频流…

26版SPSS操作教程(高级教程第十三章)

前言 #今日世界读书日&#xff0c;宝子你&#xff0c;读书了嘛~ #本期内容&#xff1a;主成分分析、因子分析、多维偏好分析 #由于导师最近布置了学习SPSS这款软件的任务&#xff0c;因此想来平台和大家一起交流下学习经验&#xff0c;这期推送内容接上一次高级教程第十二章…

Unity 如何制作和发布你的 Package

一、制作你的第一个 Package Unity Package 不做过多赘述&#xff0c;像 URP 本质上也是一个 Package&#xff0c;在 Unity 中可以通过菜单栏 → Window → Package manager 来管理你当前的所有 Package 本篇文章主要介绍&#xff1a;如何制作并发布属于你的 Package 1.1 Pac…

【笔记django】创建一个app

创建app 错误 raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Cannot import rules. Check that dvadmin.rules.apps.RulesConfig.name is correct.原因 刚创建的rules的app被手动移动到了dvadmin目录下 而dvadmin/rules/apps.py的内容还是&…

wandb注册 wandb: ERROR api_key

wandb: ERROR api_key not configured (no-tty). call wandb.login(key[your_api_key]) Traceback (most recent call last): 背景 使用yolov8训练时 在pycharm中出现wandb账号未注册错误 Transferred 355/355 items from pretrained weights TensorBoard: Start with tensor…

《ElementPlus 与 ElementUI 差异集合》el-select 显示下拉列表在 Cesium 场景中无法监听关闭

前言 仅在 Element UI 时有此问题&#xff0c;Element Plus 由于内部结构差异较大&#xff0c;不存在此问题。详见《el-select 差异点&#xff0c;如&#xff1a;高、宽、body插入等》&#xff1b; 问题 点击空白处&#xff0c;下拉列表可监听并关闭&#xff1b;但在 Cesium…

SpringCloud Alibaba--nacos简介和配置管理和登录

目录 一.理论基础 二.nacos 2.1 简介 2.2 安装 三.父项目 三.生产者 3.1 配置依赖 3.2 配置文件 3.3 启动类 3.4 控制类 四.消费者 4.1 配置依赖 4.2 配置文件 4.3 启动类 4.4 feign的接口 五.效果 六.负载均衡--权重算法 6.1重启nacos 6.2 设置权重 6.3 设…

【嵌入式】Arduino IDE + ESP32开发环境配置

一 背景说明 最近想捣鼓一下ESP32的集成芯片&#xff0c;比较了一下&#xff0c;选择Arduino IDE并添加ESP32支持库的方式来开发&#xff0c;下面记录一下安装过程以及安装过程中遇到的坑。 二 下载准备 【1】Arduino IDE ESP32支持一键安装包&#xff08;非常推荐&#xff0…

SpringCloud注册nacos错误:Could not resolvplaceholder ‘xxxxx‘ in value “xxxx“

这个错误是我在做spirngcloud注册服务到nacos时发现的&#xff0c;算是折磨我折磨了好久&#xff0c;最后发现了还是先记录一下&#xff0c;首先还是说一下我的项目版本信息&#xff0c;因为不同的版本就有这不同的解决方案&#xff0c;这也是最恶心的一点&#xff0c;以至于我…

万界星空科技电机行业MES+商业电机行业开源MES+项目合作

要得出mes系统解决方案在机电行业的应用范围&#xff0c;我们先来看一下传统机电行业的管理难题&#xff1a; 1、 产品标准化程度较低&#xff0c;制造工艺复杂&#xff0c;生产周期较长&#xff0c;产品质量不稳定&#xff1b; 2、 自动化程度低&#xff0c;大多数工序以手工…

探索设计模式的魅力:主从模式与AI大模型的结合-开启机器学习新纪元

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 ✨欢迎加入探索主从模式与AI大模型之旅✨ &#x1f31f;Hey, tech enthusiasts! 你是否还在追…

分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测

分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测 目录 分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.RIME-BP霜冰优化BP神经网络多特征分类预测&#xff08;Matlab实现完整源码和数据&a…

Vue3+Echarts: 浏览器缩小后,图表内容发生重叠

一、问题 Vue3Echarts项目&#xff1a;浏览器缩小后&#xff0c;图表内容发生重叠。本文将提供几个解决上述问题的思路&#xff0c;后续有新的解决思路将在此处进行补充。 二、解决思路 1、动态调整ECharts配置 如果图表容器的尺寸没有随着浏览器窗口的缩小而进行相应地调整…

笔记本电脑耗电和发热比较厉害怎么处理

工作中会遇到有同事反馈笔记本电脑耗电和发热比较厉害&#xff0c;主要检查以下几个地方 1、CPU频率 很多人觉得是cpu使用率高就代表电脑跑得快&#xff0c;发热量就大&#xff0c;其实不是的&#xff0c;主要是看的cpu频率&#xff0c;频率越高&#xff0c;电脑发热量越大。如…

单片机学习过程

继电器光耦隔离电压转换步进电机直流电机 arduino是最好用的一种&#xff0c;他提供了完整的设备库文件&#xff0c;任何外部设备只要查找相应的库&#xff0c;就可以很方便的使用 &#xff0c; 但是如果不去学习51 或stm32 或 嵌入式玩玩还可以&#xff0c;如果碰到没有实现的…

Security用户管理(一)

Security初探(三)-CSDN博客 Security的身份验证流程: AuthenticationFilter拦截请求并将身份验证职能委托给AuthticationManager.为了实现身份验证逻辑,AuthticationManager会使用身份验证程序.为了检查用户名和密码,AuthenticationProvider会使用UserDetailsService和Passwor…