fnm 的使用

常用指令

安装和卸载
# 安装指定版本的node
$ fnm install 16.12.0

# 安装最新版本的node
fnm install --latest

# 安装LTS版本的node
$ fnm install --lts

# 卸载指定版本的node
$ fnm uninstall 16.12.0

# 速度慢的时候,可以切换到国内源
$ fnm install 16 --node-dist-mirror=https://npmmirror.com/mirrors/node

PS:永远记得不要安装单数版本,尽量用最新的 LTS 版本

查看版本
# 查看所有可下载的Node版本
$ fnm ls-remote

# 查看官方已发布的所有版本
$ fnm ls-remote | grep v16

# 查看本地安装的node版本
fnm list
使用不同版本
# 设置全局默认版本
$ fnm default 16.12.0

# 在当前Shell使用指定版本
$ fnm use 16.12.0

# 使用指定版本来执行某个全局命令
$ fnm exec --using=18 node -v

# 在应用目录写入文件,指定特定版本 - 在特定目录自动切换版本,也可以提交到源码库方便协作。
$ echo '16' > .node-version
指定项目 Node 版本

package.json 文件中指定:设置以下字段。

{
  "engines": {
    "node": ">=18.0.0"
  }
}

.node-version 文件中指定:在文件中设置 Node 版本。

v22.9.0

若 Fnm 不能在本地查找到符合项目指定的 Node 版本,将会在终端中给出提示,若选择 Y 将会自动下载并切换至指定 Node 版本。

参考:Node.JS 版本管理工具 Fnm 安装及配置(Windows)

设置别名

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

$ fnm alias <version> <name>

# 将my-project别名分配给Node版本16.12.0
$ fnm alias 16.12.0 my-project

参考:

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

科普文:用锈化的 fnm 管理 Node.js 版本


说明

相比volta如何

直接看:https://github.com/Schniz/fnm/issues/270 吧,双方作者直接讨论。从讨论中可以了解到, fnm 的原理是软链,volta 则是会代理 node 等命令。个人会更倾向于 fnm 的实现方式,没那么侵入性

两者目标不同没得比。fnm 只管理 Node 版本,简洁有效,是 nvmsh 很好的替代,许多 nvm 替代品的指令都做得很接近,nvm 用户迁移成本极低。而 volta 是更广义上的 toolchain manager。除了 Node 还能管理 npm、yarn,目的就是为了做到不同的项目里能有完整且版本隔离的 toolchain。volta 出来时 corepack 还没有,要比较 volta 更像是 nvm + corepack 但是也只是像。

参考自 科普文:用锈化的 fnm 管理 Node.js 版本 的评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值