不同前端项目使用不同的NodeJs版本(使用asdf让NodeJs多版本共存)

457 阅读1分钟

哥们是Mac系统,所以下文只包含Mac上asdf相关的安装和配置

背景

公司的一些老项目只有低版本的NodeJS才可以跑,例如16.14以下的,最新的一些项目要NodeJS在18以上才可以跑,有时候要同时跑多个项目,所以需要NodeJ版本管理工具。 测试过一些工具:

  • nvm 垃圾,进入每个项目都要切换,不支持多个项目多个NodeJS版本同时运行
  • n 垃圾,原因同上
  • fnm 垃圾,原因同上
  • webstorm配置,我看了下配置太复杂了,放弃(我垃圾)

经过比较之后选择了 asdf

安装和使用

使用

先说下怎么使用的,然后再说安装,安装之后你就可以在终端使用asdf命令了。

我的需求是

  1. 全局使用nodejs版本 18.16.0
  2. 针对低版本的项目使用nodejs版本 16.14.0
# 使用asdf安装nodejs插件,因为asdf支持多种语言的版本管理
asdf plugin-add nodejs
# 先安装对应的nodejs版本 我就装2个
asdf install nodejs 18.16.0
asdf install nodejs 16.14.0
# 设置全局的版本
asdf global nodejs 18.16.0

# 设置项目的nodejs版本
  #注意首先要切换到项目目录
  cd my-project
  asdf local nodejs 16.14.0 #这步操作会新建一个配置文件,写入项目的版本,之后新建个终端,node -v 就是最新的版本了

安装

流程

  1. 下载 这一句就是把asdf的可执行命令下载到你电脑的 ~/.asdf 目录
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0
  1. 配置环境变量
# 把这行加到你的 ~/.zshrc文件或者~/.bashrc文件里面,然后source 对应的文件
. "$HOME/.asdf/asdf.sh"

具体安装流程参考官网:asdf-vm.com/guide/getti…