作者:BrianDeSousaNode.js的新版本每周发布一次——每隔几周发布一次小版本,每隔几个月发布一次主要版本。如果您是需要在不同程序和项目之间切换的编码人员,您可能会发现需要运行不同版本的Node。幸运的是,有几种好方法可以安装多个版本的Node并根据需要进行切换。本文将讨论和比较Linux/Mac环境中两种流行的Node版本管理器:NVMforWindows和nNode版本管理器。提示:Windows和Linux/Mac有不同的NVM实现;不过n的npm包只支持Linux/Mac。为了进行比较,我们假设您正在处理两个程序。程序1是在Node6.17.1上运行的Angular5程序。程序2是在Node8.16.0上运行的Angular7程序。这是您需要做的:修复程序1上的错误x将程序2升级到Angular8实际上,您需要三个版本的Node来完成这项工作,因为您需要将程序2升级到Node10.9或更高版本为了支持Angular8.NVMforWindows的升级从技术上讲,有两个完全独立的NVM项目,它们在不同的操作系统上提供类似的功能,但彼此保持独立:nvm-sh/nvm是一个bash脚本,可用于管理Linux和Mac上的Node版本coreybutler/nvm-windows是一个Windows程序,可以用来管理Windows上的Node版本安装安装非常简单,从GitHub下载最新版本的NVMforWindows安装程序。在撰写本文时,最新版本为1.1.7。下载并解压缩nvm-setup.zip,然后双击可执行文件进行安装。安装程序会将NVM放置在您计算机上的适当文件夹中,并更新系统环境变量,以便可以从命令行使用nvm和未来的节点安装。提示:如果您想安装到您自己的文件夹,请下载nvm-noinstall.zip并将其解压缩到您想要的任何位置。并运行其中的install.cmd,设置必要的系统环境变量。提示:GitHub上提供了详细的安装说明。安装完成后,打开一个命令窗口,确认NVM可用:D:\>nvmversion1.1.7运行程序1如果你还记得,你需要使用三个不同版本的Node来处理两个不同的程序。首先运行程序1。一些命令的输出被截断为...以节省空间。D:\>nvm列表可用|当前|长期支持|旧稳定|旧版不稳定||------------|------------|-----------|-------------||12.4.0|10.16.0|0.12.18|0.11.16|...D:\>nvminstall6.17.1正在下载node.js版本6.17.1(64位)...完成创建C:\Users\Brian\Downloads\nvm-noinstall\temp正在下载npm版本3.10。10...完成安装npmv3。10.10...安装完成。如果你想使用这个版本,输入nvmuse6.17.1D:\>nvmuse6.17.1D:\>nvmlist*6.17.1(Currentlyusing64-bitexecutable)D:\>node-vv6.17.1D:\>cdapplication1D:\application1>npminstall...D:\application1>npmstart>application1@0.0.0startD:\application1>ngserve**AngularLiveDevelopmentServer正在监听本地主机:4200,打开浏览器http://localhost:4200/**...这是您刚刚对NVM的一些主要功能所做的操作:默认是64位版本,因为当前系统架构是64位的)nvmuseactivatestheversionjustinstallednvmlist用于确认是否安装并激活了正确的Node版本(如果有其他安装的版本,会列出来)一旦Node安装并激活,那么照例可以Follow您的程序需要的任何Node/npm工作流程。提示:您的Node版本彼此完全隔离。例如,如果您在一个版本的Node上全局安装一个包,则该包将无法在其他版本的Node上运行。运行程序2所以你已经修复了程序1中的错误x,现在你可以将程序2升级到Angular8:D:\nvminstall8.16.0...D:>nvmuse8.16.0Nowusingnodev8.16.0(64位)D:>cdapplication2D:\application2>npminstall...D:\application2>npmstart...D:\application2>nvminstall10.16.0...D:\application2>nvmuse10.16。0现在使用节点v10.16.0(64位)D:\application2>npmi-g@angular/cli@8...D:\application2>ngupdate@angular/cli@angular/core...D:\application2>npminstall...D:\application2>npmstart...在NVM(和AngularCLI)的帮助下,您使用几个命令快速完成升级:nvminstall和nvmuse安装并激活v8.16.0所以你可以在升级nvminstall和nvmuseinstallandactivatev10.16.0准备升级之前验证程序是否按预期工作全局安装@angular/cli包以执行Angular程序的自动升级ngupdate命令npminstall和npm开始测试新升级的程序nNode版本管理器Node版本管理器为安装和切换Node版本提供了更简单的CLI。它仅在Linux或Mac操作系统上受支持。提示:GitHub上的tj/n存储库中提供了详细的安装和使用说明。安装如果你已经安装了一个版本的Node和npm,你可以像安装任何其他NPM包一样使用npminstall-gn安装n。如果您没有安装Node或npm,您可以使用来自GitHub的bash脚本安装n。它看起来是这样的:提示:您必须安装Git才能使用bash脚本安装n。~$curl-Lhttps://git.io/n-install|bash...===n成功安装。活动的Node.js版本是:v10.16.0运行`n-h`寻求帮助。要稍后更新n,请运行“n-update”。要卸载,请运行“n-uninstall”。重要提示:打开一个新的终端选项卡/窗口或运行`./home/brian/.bashrc`在使用n和Node.js.===~$./home/brian/.bashrc~$nnode/10.16.0通过从GitHub下载并运行n-install脚本来安装n.n带有默认安装的Node版本。运行程序1程序1需要Nodev6.17.1,因此您需要在运行程序之前安装它。~$n6.17.1安装:node-v6.17.1mkdir:/home/brian/n/n/versions/node/6.17.1获取:https://nodejs.org/dist/v6.17.1/node-v6.17.1-linux-x64.tar.gz#########################################################################################################################################100.0%已安装:v6.17.1~$node-vv6.17.1~$cdapplication1~/application1$npminstall...~/application1$npmstart>application1@0.0.0start~/application1>ngserve**AngularLiveDevelopmentServer正在监听localhost:4200,打开浏览器http://localhost:4200/**...安装和激活Node版本的n命令很简单:n6.17.1。您还可以使用nlatest获取最新版本的Node,或使用nlts获取最新的LTS版本的Node。安装Node后,程序可以正常运行。提示:与NVM类似,Node版本之间是完全隔离的。例如,全局安装的包不会在不同的Node版本之间共享。运行App2接下来,您需要运行App2并将其升级到Angular8:$n8.16.0...$cdapplication2~/application2$npminstall...~/application2$npmstart...~/application2$n10.16.0...~/application2$npmi-g@angular/cli@8...~/application2$ng更新@angular/cli@angular/core...~/application2$npm安装。..~/application2$npmstart...升级前为保证应用2可以运行,需要安装Nodev8.16.0。然后按照Angular8的要求安装Nodev10.16.0。全局安装AngularCLI,使用ngupdate更新程序。最后程序在升级后开始测试。您可能已经注意到,使用n
