还在用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。

结语

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

相关推荐

  1. 使用工具 NVM管理不同版本 Node.js启动vue项目

    2023-12-21 18:12:02       34 阅读
  2. Nodejs版本管理工具nvm

    2023-12-21 18:12:02       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-21 18:12:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-21 18:12:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-21 18:12:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-21 18:12:02       18 阅读

热门阅读

  1. 【SpringBoot】知识点总结

    2023-12-21 18:12:02       41 阅读
  2. css 2D转换

    2023-12-21 18:12:02       29 阅读
  3. 从入门到放弃之「ClickHouse」

    2023-12-21 18:12:02       46 阅读
  4. Ansible

    Ansible

    2023-12-21 18:12:02      24 阅读
  5. ansible剧本playbook

    2023-12-21 18:12:02       33 阅读
  6. 【力扣100】108.将有序数组转化为二叉搜索树

    2023-12-21 18:12:02       44 阅读
  7. 数据结构的基本概念

    2023-12-21 18:12:02       34 阅读
  8. win10 golang下载安装,及环境变量配置

    2023-12-21 18:12:02       48 阅读
  9. TypeScript常用的内置工具

    2023-12-21 18:12:02       36 阅读
  10. 客户服务常用的ChatGPT通用提示词模板

    2023-12-21 18:12:02       39 阅读