Node.js作为前端的基础能力已经不仅仅是一个“JS Server Runtime”了,大量的工具库,本地包管理,Mock环境等,都基于Node.js构建了出来,已经名副其实的成为了前端界的基础设施。
繁荣的生态让大家在构建前端项目的时候不得不安装Node.js。但是历史悠久的产品总会有版本问题,有的需要新的版本,有的需要之前的版本,多版本的Node.js一直是困扰每一个人的问题。
目前开源产品nvm解决了这个问题,简单的命令行使用即可快速的切换不同版本的Node.js,让每一个开发者都可以不浪费时间在环境配置的问题上。
目前前端开发的主流机器依然是Macbook,所以本文会讲一下目前如何优雅的在Mac上安装和使用nvm来高效的管理Node.js版本
推荐一个开发后台的开源项目
ILLA Cloud是一个开箱即用的低代码工具,使用ILLA可以无需新建任何项目,使用简单的JS即可快速构建内部工具
- Web & App Admin Panel
- Data Dashboard
- Customized B2B Tools
相对于使用组件库构建的场景下,使用ILLA Cloud可以10x速度构建上述工具,并且ILLA Cloud支持多人协作,可以团队内部多人协同编辑。快速构建定制化的后台能力。
nvm介绍
⏬ Github地址:https://github.com/nvm-sh/nvm
⭐ Github Stars: 72.4k
💪🏼 First Release Date: Dec 22, 2014
nvm是一个维护了将近10年的开源项目,看来良好的口碑确实能让一个项目长久不衰,而且经过不断的维护,在解决“Node.js版本管理”这个问题上已经非常的完美了。
安装nvm
既然是使用Mac来进行开发,强烈推荐大家使用Homebrew来做包管理,然后使用Homebrew来进行安装nvm。
安装Homebrew推荐使用Homebrew的安装脚本,基本不需要任何配置即可马上使用,而且对于每一个使用Homebrew安装仓库如果不想使用了可以随时纯净卸载,不需要任何麻烦的事情。
> /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
运行这个命令即可一键安装Homebrew最近版本,他会自动进行安装,并且因为是MacOS环境,会自动安装Xcode Command Tools。
当然了,这一切都是自动的。下面是一个安装过程
等待一会之后就可以正式进行安装nvm了,这里我们使用安装好的Hombrew进行安装。
> brew install nvm
确认同意之后即可完整的安装好nvm,如果哪天不喜欢了还可以使用下面的命令汗删除
# delete nvm if you don't need it.
> brew uninstall nvm
使用nvm
安装好nvm之后这里讲几个常用的nvm命令来帮助大家使用,今本上可以满足日常的需求
> nvm list
"list"命令的作用是展示当前主流的各种Node.js版本,大家可以按照需求进行安装,还会显示出本机当前使用的Node.js版本。他会显示出一些代号。
比如“lts/gallim”就是Node.js v16的版本名称,后续使用“lts/gallim”代号安装,nvm会自动安装v16的最新版本。使用上还是很方便的。当然了,使用这个命令也可以查看当前使用的版本。
还有另外一个命令可以查看当前的Node.js版本
> node --version
输入之后即可查看当前的Node.js版本是否切换成功
> nvm install stable
第二个命令是安装某一个Node.js版本,“stable”指某一个版本号,这里面也可以使用某一个版本的代号来进行安装,比如安装“Nodejs 18”就使用“nvm install 18”来进行安装,非常的人性化。这里我进行安装“stable”版本。nvm会自动判断最新版本的Stable是什么,并且给我进行安装。安装成功之后会自动切换到安装好的版本里面。
有安装命令就一定有删除命令,使用
> nvm unstall stable
即可删除对应的版本。
当我们学会了安装和删除之后,就重要的当然是切换版本了。
> nvm use stable
使用“use”命令即可快速切换当前环境使用的Node.js版本,“stable”代号也是可以的,这样大家在不同的项目里面就可以快速的切换对应的版本了。
总结
本文写清楚了作为一个新手从安装到使用nvm的全过程,大家可以快速的尝试起来,从而更好的管理好自己的Nodejs版本。
Node.js版本管理是一个老生常谈的问题,nvm是一个非常优秀的解决这个问题的开源项目,当然了没有任何完美的项目,如果大家有什么其他的推荐,可以留言哦,让更多的人知道更多优秀的项目是我们开源爱好者的使命~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。