一、nvm介绍
1. nvm简介
node version manager(nvm)是一个用于管理多个node.js版本的工具。它允许用户在同一台机器上安装和使用多个node.js版本,非常适合需要同时进行多个项目的开发者。nvm是开源的,支持macos、windows和linux操作系统。
2. nvm原理
nvm通过修改path环境变量,控制不同命令行会话中使用的node.js版本。它不需要管理员权限,可以在用户的主目录中安装node.js版本,并将它们隔离开来。通过执行简单的命令,用户可以选择正在使用的node.js版本,这使得在不同版本之间切换变得非常简单。
3. nvm的优势
- 版本管理灵活:允许在同一系统中安装多个node.js版本,并能轻松切换。
- 环境隔离:每个node.js版本都在用户空间内独立安装,不会互相影响。
- 无需管理员权限:用户可以在其主目录下安装和维护node.js版本,无需管理员权限。
- 支持自动切换:通过
.nvmrc
文件自动切换项目所需的node.js版本。
二、常用node.js版本对照
1. node.js和vue版本对照表
vue.js 版本 | 推荐 node.js 版本 | 兼容 typescript 版本 |
---|---|---|
vue 3.x | node.js 12 或更高 | typescript 3.9 或更高 |
vue 2.6 | node.js 10 或更高 | typescript 3.5 或更高 |
vue 2.5 | node.js 10 | typescript 2.6 或更高 |
vue 2.4 及以下 | node.js 8 | typescript 不推荐 |
注意:
- vue 3.x 被完全重写以支持 typescript,建议使用 typescript 3.9 或更高版本。
- vue 2.5 引入了对 typescript 的改进支持,推荐至少使用 typescript 2.6。
- 较早的 vue.js 版本(2.4 及以下)并没有针对 typescript 提供优化支持,在这些版本中使用 typescript 需要额外的配置,不推荐。
2. node.js和angular版本对照表
angular作为一个更为严格的框架,其版本通常要求较新的node.js版本。以下是angular版本与node.js版本的推荐对照表:
angular 版本 | 推荐 node.js 版本 | 兼容 typescript 版本 |
---|---|---|
angular 17.1.0 | ^18.13.0 或 ^20.9.0 | >=5.2.0 < 5.4.0 |
angular 17.0.x | ^18.13.0 或 ^20.9.0 | >=5.2.0 < 5.3.0 |
angular 16.1.x | ^16.14.0 或 ^18.10.0 | >=4.9.3 < 5.2.0 |
angular 16.2.x | ^16.14.0 或 ^18.10.0 | >=4.9.3 < 5.2.0 |
angular 16.0.x | ^16.14.0 或 ^18.10.0 | >=4.9.3 < 5.1.0 |
angular 15.1.x | ^14.20.0 或 ^16.13.0 或 ^18.10.0 | >=4.8.2 < 5.0.0 |
angular 15.2.x | ^14.20.0 或 ^16.13.0 或 ^18.10.0 | >=4.8.2 < 5.0.0 |
angular 15.0.x | ^14.20.0 或 ^16.13.0 或 ^18.10.0 | ~4.8.2 |
angular 14 | ^14.15.0 或 ^16.10.0 | >=4.6.4 < 4.9.0 |
angular 13 | ^12.20.2 或 ^14.15.0 或 ^16.10.0 | >=4.4.4 < 4.7.0 |
angular 12 | ^12.14.1 或 ^14.15.0 | >=4.2.4 < 4.4.0 |
angular 11 | ^10.13.0 或 ^12.11.1 | >=4.0.8 < 4.2.0 |
angular 10 | ^10.13.0 或 ^12.11.1 | >=3.9.4 < 4.1.0 |
angular 9 | ^10.13.0 或 ^12.11.1 | >=3.6.5 < 3.9.0 |
angular 8 | ^10.9.0 | ~3.4.5 或 ~3.5.3 |
angular 7 | ^8.9.4 或 ^10.9.0 | ~3.1.6 或 ~3.2.4 |
angular 6 | ^8.9.4 | ~2.7.2 或 ~2.9.2 |
angular 5 | ^6.9.5 或 ^8.9.4 | ~2.5.3 |
angular 4 | ^6.9.5 | ~2.4.2 |
angular 2 | ^6.9.5 | ~2.0.10 或 ~2.2.2 或 ~2.3.4 |
3. node.js和react版本对照表
react 版本 | 推荐 node.js 版本 | 兼容 typescript 版本 |
---|---|---|
react 18 | node.js 14 或更高 | typescript 4.5 或更高 |
react 17 | node.js 12 或更高 | typescript 4.1 或更高 |
react 16 | node.js 10 或更高 | typescript 3.7 或更高 |
react 15 | node.js 8 | typescript 2.8 或更高 |
react 0.14 及以下 | node.js 6 | typescript 1.8 或更高 |
三、安装nvm步骤
1. 下载安装nvm
github (https://github.com/coreybutler/nvm-windows/releases) 下载nvm。
下载完成后双击.exe安装程序安装。
选择nvm的安装路径和node.js的安装路径,node.js的安装路径是一个临时文件夹,在nvm的路径下有已安装的所有版本的node.js,当我们选中应用哪个版本的node.js时,node.js的安装路径下变成哪一个版本的node.js的复制。
继续安装。
安装完成。
通过运行nvm version
来验证nvm是否正确安装。
2. 配置node.js路径到环境变量
把我们刚刚安装nvm时选择的node.js安装的路径写到path里。
这样我们才能在控制台直接使用npm命令。
3. nvm安装node.js
我们先安装较新版本的node.js 20.9.0。
nvm install 20.9.0
切换当前版本为我们刚刚安装的node.js 20.9.0。
nvm use 20.9.0
再次检查一下是否为该版本。
node -v
接着我们安装angular 17。
npm i -g @angular/cli@17
安装成功。
4. nvm安装多版本node.js
我们再安装18.10.0版本的node.js。
nvm install 18.10.0
这时候通过nvm list
可以看到我们所有已经安装的node.js的版本,通过 nvm use 18.10.0
可以灵活切换当前使用的版本。
nvm list
nvm use 18.10.0
5. nvm切换node.js实现angular多版本安装
下面我们切换node.js版本为18.10.0,安装angular 15。
安装成功。
可见,使用nvm进行node.js的多版本控制与隔离,可以帮助我们在同一个操作系统里安装多个版本的angular/vue等前端库,以实现不同项目依赖的需求。
6. .nvmrc文件实现项目的自动版本控制
可以在项目根目录下创建一个名为 .nvmrc
的文件,文件内容是项目所需的 node.js 版本号。
例如,如果你的项目需要 node.js 版本 14.17.0,那么 .nvmrc
文件的内容应该是:
14.17.0
当你进入项目目录时,可以运行以下命令来自动切换到 .nvmrc 文件指定的 node.js 版本:
nvm use
如果你的系统中尚未安装该版本的 node.js,nvm 将提示你安装它。
四、nvm管理多版本node.js教程总结
通过nvm(node version manager),开发者可以非常灵活地管理不同的node.js版本,以满足不同项目的需求。使用nvm,你可以避免版本冲突和环境污染问题,更高效地进行node.js应用的开发和测试。通过理解和利用nvm的优点,你可以在现代web开发中保持高效和竞争力。
nvm的核心功能允许你在同一台机器上安装和切换多个node.js版本。这意味着你可以轻松测试你的应用在不同node.js版本下的表现,确保应用的兼容性和稳定性。例如,如果一个老项目需要node.js的早期版本而新项目需要最新版本,nvm使得在这两个版本之间切换变得无缝和简单。
此外,nvm还支持自动版本控制。通过在项目的根目录下放置一个 .nvmrc
文件,该文件指定了项目所需的node.js版本,nvm可以自动切换到该版本。这使得团队成员在初次运行项目时能够自动使用正确的node.js版本,降低了配置错误的风险。
nvm的安装和使用也非常直接。通过简单的命令行指令,你可以安装多个版本的node.js,并通过命令快速切换当前使用的版本。nvm还提供了一些有用的命令来列出已安装的版本、安装新版本或删除旧版本,使得node.js版本的管理更加直观和方便。
总之,nvm是每个node.js开发者工具箱中的必备工具。它不仅提高了开发的灵活性和效率,还通过确保每个项目都使用合适的node.js版本来增强了代码的可维护性和团队的协作效率。通过投入时间学习和掌握nvm,你可以确保自己在快速发展的技术环境中保持竞争力。
以上就是nvm管理node.js实现不同版本angular环境切换的详细内容,更多关于nvm node.js angular环境切换的资料请关注代码网其它相关文章!
发表评论