欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Node.js版本管理:n vs nvm,为什么我选择fnm

最编程 2024-07-20 18:43:45
...

Xnip2022-03-29_14-44-30.png

概述

前端 node 的版本迭代太快了,经常会遇到存量工程跑不起来的情况。需要切换 node 版本,包版本管理工具,用过 n,用过 nvm,但是都会遇到一些问题:

  • n 是一个 npm 包,说白了,就是 node 自己管自己,一但 当前node出问题,就切不过去了,另外,经常需要用到 sudo 权限
  • nvm 最近一个比较严重的问题是,nvmprefix 不兼容,还有就是

最近翻看 node 官方文档,突然看到 「通过包管理器安装 Node.js」一章有个不认识的东西很靠前:

image.png

就好奇去看了下。

fnm

fnm 是使用 rust 写的,现在前端看到 rust,第一反应基本都是 ,我去看了下,还真是,至于怎么使用,主页都有说明,照着操作就好了。下面我说下几个踩了的小坑。

踩坑

node 命令不存在

zsh: command not found: node

fnm use 不生效

上面这两个原因就是,官方的两个命令 fnm use <version>fnm default <version> 的区别跟常规的认知不一样:

  • use 是切换当前 shell 环境,临时的
  • default 是切换全局,永久的

明白了这个,就能解决问题了。

简单说,不要用 use,用 default

设置别名失败

  • fnm alias v10.15.0 10x
  • fnm default 10x 会报错,它会把 10x 识别成正常的版本,而不是别名

所以,设置别名的时候,不要用数字开头,也不要用 v 开头,比如上面的 10x 可以设置为 x10,或者自己想要的其他名字

总结

fnm 在使用上还是挺丝滑的,install 也是极快的,如果喜欢折腾拥抱新事物,那就用起来吧!