banner
NEWS LETTER

一个node版本自动切换的日常开发需求

Scroll down

背景

目前一个人往往需要兼顾多个前端项目,并且有来回切换的需要,而这些项目使用的node版本通常不一样,现在正在使用的node版本管理器nvm/n需要每次手动执行切换node版本,因此希望找一个能够随项目自动切换node版本的管理器工具,遂发现了fnmvolta

fnm

fnm的安装参考github
macos下可以直接用brew安装

1
2
3
brew install fnm
# 在.zshrc增加下面这行,参数--use-on-cd表示当进入此目录时自动使用.node-version或.nvmrc中的node版本
eval "$(fnm env --use-on-cd --shell zsh)"

推荐个人使用,可快速自动切换node版本,需在项目目录下新建.node-version文件,当进入此目录时将自动切换至对应node版本。
如果此前使用过nvmfnm也会从.nvmrc文件读取node版本

fnm通过修改PATH环境变量来切换node版本,它借助shell hook监听当前目录的变化,把当前目录使用的node版本的路径插入到PATH最前面
image.png

volta

推荐团队协作

fnm和nvm的共存问题

可以共存,但要注意不要同时激活使用,他们都会修改PATH环境变量,可能会导致两者都不生效

其他文章