概述
前端 node
的版本迭代太快了,经常会遇到存量工程跑不起来的情况。需要切换 node
版本,包版本管理工具,用过 n
,用过 nvm
,但是都会遇到一些问题:
n
是一个npm
包,说白了,就是node
自己管自己,一但 当前node出问题,就切不过去了,另外,经常需要用到sudo
权限nvm
最近一个比较严重的问题是,nvm
与prefix
不兼容,还有就是慢
最近翻看 node 官方文档,突然看到 「通过包管理器安装 Node.js」一章有个不认识的东西很靠前:
就好奇去看了下。
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
也是极快的,如果喜欢折腾拥抱新事物,那就用起来吧!