如何安装并管理多版本node?方法介绍

如何安装并管理多版本node?下面本篇文章给大家介绍一下多版本node的安装与切换详细操作,希望对大家有所帮助!

如何安装并管理多版本node?方法介绍

安装多版本node的原因:

在项目开发过程中,不同项目使用的nodejs版本不同,有时会因为node版本过高或太低,导致报错;如何在同一个系统中安装多个版本的node呢,这里有两种方式,往下看选择适合你的方式吧

方法一:利用nvm进行管理

NVM 简介

NVM 全称 Node Version Manager,是一个管理 NodeJS 版本的工具。

NVM 默认只支持 Linux 和 OS X,不支持 Windows,针对 Windows 操作系统有 2 个替代方案:

nvm-windows

nodist
这里只介绍使用nvm-windows安装和切换多版本NodeJS的方法。

安装前须知:

之前有node环境的需卸载干净如果安装完node后,输入 nvm use ,仍无效(node版本前面都没有选中的"*"),需重新安装安装路径上不要有中文字符或者空格,否则会出现错误

在这里插入图片描述

卸载已安装的nodeJS

1、点击开始菜单,找到nodejs的文件夹,点击箭头处,进行卸载(注意:进行此操作之前需结束使用nodejs的项目)

在这里插入图片描述

2、检测系统中是否还存在nodejs

(1) 在开始菜单中进行查看

(2) 在cmd窗口中输入 node -v 进行查看

nvm 的安装与使用

nvm下载

安装包下载地址: https://github.com/coreybutler/nvm-windows/releases
注意:安装环境win10系统,64位

注意:安装环境 win10系统,64

nvm安装(注:最好不要装在C盘)
(1)在指定的文件下新建两个文件夹,一个用来存放nvm的安装文件,另一个用来存放node的文件
在这里插入图片描述
(2)将下载好的安装包放入nvm文件夹中,解压,进行安装。
注意:安装时选择开始新建的文件夹作为指定安装目录
在这里插入图片描述
(3)选择nvm安装路径,点击下一步
在这里插入图片描述
(4)选择nodejs路径
在这里插入图片描述
(5)点击 Install——>点击 Finish,安装完成。
(6)确认是否安装成功
打开CMD,输入命令 nvm命令,安装成功则如下显示
在这里插入图片描述
(7)到此nvm已经安装成功
如果有安装淘宝镜像的需完成下载镜像的配置,没有可跳过
打开nvm文件夹下的settings.txt文件,在最后添加以下代码(不改,下载node可能会报错)
在这里插入图片描述

arch: 64proxy:node_mirror: https://npm.taobao.org/mirrors/node/npm_mirror: https://npm.taobao.org/mirrors/npm/

注:

arch:Windows 操作系统位数 proxy:代理,淘宝 NodeJS 镜像和 NPM 镜像

在这里插入图片描述
注:

root:NVM 安装路径
path:NodeJS 快捷方式路径

node 的不同版本安装及切换

1、NVM 安装成功后,win + r 输入cmd 新开cmd窗口,可以通过 nvm -v 命令查看所有可用的命令。

C:>nvm -vRunning version 1.1.7.Usage:  nvm arch                     : Show if node is running in 32 or 64 bit mode.  nvm install  [arch] : The version can be a node.js version or "latest" for the latest stable version.                                 Optionally specify whether to install the 32 or 64 bit version (defaults to system arch).                                 Set [arch] to "all" to install 32 AND 64 bit versions.                                 Add --insecure to the end of this command to bypass SSL validation of the remote download server.  nvm list [available]         : List the node.js installations. Type "available" at the end to see what can be installed. Aliased as ls.  nvm on                       : Enable node.js version management.  nvm off                      : Disable node.js version management.  nvm proxy [url]              : Set a proxy to use for downloads. Leave [url] blank to see the current proxy.                                 Set [url] to "none" to remove the proxy.  nvm node_mirror [url]        : Set the node mirror. Defaults to https://nodejs.org/dist/. Leave [url] blank to use default url.  nvm npm_mirror [url]         : Set the npm mirror. Defaults to https://github.com/npm/cli/archive/. Leave [url] blank to default url.  nvm uninstall       : The version must be a specific version.  nvm use [version] [arch]     : Switch to use the specified version. Optionally specify 32/64bit architecture.                                 nvm use  will continue using the selected version, but switch to 32/64 bit mode.  nvm root [path]              : Set the directory where nvm should store different versions of node.js.                                 If  is not set, the current root will be displayed.  nvm version                  : Displays the current running version of nvm for Windows. Aliased as v.

2、使用 nvm install 命令安装指定版本的NodeJS

C:>nvm install v8.16.2Downloading node.js version 8.16.2 (64-bit)...CompleteDownloading npm version 6.4.1... CompleteInstalling npm v6.4.1...Installation complete. If you want to use this version, typenvm use 8.16.2

3、安装成功后在 NVM 安装目录下出现一个 v8.16.2 文件夹,使用 nvm list 命令查看已安装 NodeJS 列表。

C:>nvm list     8.16.2

4、再次使用 nvm install 命令安装另一版本的 NodeJS

C:>nvm install v12.8.0Downloading node.js version 12.8.0 (64-bit)...CompleteCreating C:DevnvmtempDownloading npm version 6.10.2... CompleteInstalling npm v6.10.2...Installation complete. If you want to use this version, typenvm use 12.8.0

5、使用nvm use 切换需要使用的 NodeJS 版本,切换成功后可以使用 node -vnpm -v 命令查看是否切换成功。

C:>nvm use v8.16.2Now using node v8.16.2 (64-bit)C:>node -vv8.16.2C:>npm -v6.4.1

这里需注意使用nvm use 时可能出现乱码的情况

C:>nvm use v8.16.2exit status 1: ��û���㹻��Ȩ��ִ�д˲�����

不要慌张,不要生气,这时候用重新打开一个以管理员身份运行cmd窗口就不会出现乱码的情况,使用nvm use 切换需要使用的 NodeJS 版本,使用nvm ls 查看所有安装的node版本,版本号前面带有*号的表示当前使用的NodeJS版本。

C:Windowssystem32>nvm use v8.16.2Now using node v8.16.2 (64-bit)C:Windowssystem32>nvm ls    12.8.0  * 8.16.2 (Currently using 64-bit executable)

6、这里是一些常用命令汇总:

喵记多 喵记多

喵记多 – 自带助理的 AI 笔记

喵记多 27 查看详情 喵记多

nvm off                     // 禁用node.js版本管理(不卸载任何东西)nvm on                      // 启用node.js版本管理nvm install        // 安装node.js的命名 version是版本号 例如:nvm install 8.12.0nvm uninstall      // 卸载node.js是的命令,卸载指定版本的nodejs,当安装失败时卸载使用nvm ls                      // 显示所有安装的node.js版本nvm list available          // 显示可以安装的所有node.js的版本nvm use            // 切换到使用指定的nodejs版本nvm v                       // 显示nvm版本nvm install stable          // 安装最新稳定版

方法二:通过配置环境变量(切换node时只需更改文件夹名称)

安装node及注意事项

1、同样,如果之前有安装过node,为了避免不必要的麻烦,将其先卸载掉

注意:安装多个版本的node的时候一定要从低版本开始安装,如果你先安装高版本的话会出现许多问题,如果你已经安装啦,先卸载掉然后进行下面的步骤

2、在安装node之前,我先选择一个node安装目录,我要安装到D盘下,所以我在D盘中新建了一个NODE的目录,并且在里面创建了一个nodejs8的文件夹,因为我一会要在这个文件夹中安装8.16.2版本的node

在这里插入图片描述

3、开始安装

node版本可以去node中文网或者点击这里下载https://nodejs.org/

打开下载好的node8.16.2的安装包,一直点击下一步,直到出现安装路径,将安装路径切换为我们上面新建的nodejs8文件夹路径:D:toolsNODEnodejs8,然后一路下一步,直到安装成功

配置环境变量

在开始搜索框搜环境变量,注意这里选择编辑系统环境变量—>高级—>环境变量

在这里插入图片描述

在这里插入图片描述

在系统变量中点击新建,变量名:nodejs,变量值:D:toolsNODEnodejs(即上面存放node的文件夹,这里先去掉nodejs8后面的8)

在这里插入图片描述

在这里插入图片描述

点击确定后再系统变量中找到path 变量,选中后点击编辑,然后点击新建,将上面新建系统变量的变量名以%变量名%的形式加入,点击确定

在这里插入图片描述

这时候还不行,最关键的一点是:我们需要将一开始建的文件夹nodejs8重命名为nodejs

值得注意的是:这里将nodejs8重命名的一方面是为了与上面配置的环境变量中的变量名匹配(即使用此版本node),另一方面是为了更好的安装下一个版本(因为在安装完一个node版本之后如果文件名不修改的话,后面再安装其他版本的node时无论你安装到什么地方,都会把之前的那个覆盖掉)

在这里插入图片描述

检查并安装多版本

1、检查

重名名之后,然后win+R—>cmd,在命令窗口输入node -v查看node 版本,出现版本号说明第一个node版本安装成功

C:>node -vv8.16.2

2、安装下一个版本

由于上面已经将安装的node8.16.2版本的文件名重命名(防止覆盖),这时我们只需在同级目录下新建一个文件夹nodejs12,安装node12.8.0版本的node(方法同上面安装node8.16.2)
在这里插入图片描述

node版本切换

重点来了,在安装了多个版本的node的之后,在我们需要切换版本的时候,只需要将对应版本的文件夹重命名为nodejs即可

例如:我们先装了node8.16.2版本的(放在nodejs文件夹下)和node12.8.0版本的(放在nodejs12文件夹下),现在使用的node是8.16.2,那么要想切换至node12.8.0版本的node,只需更改文件名,将nodejs重命名为nodejs8,再将nodejs12重命名为nodejs即可,换句话说就是用哪个版本的node就将哪个版本的node文件夹重命名为nodejs
在这里插入图片描述
此时在打开命令行窗口,输入node -v检查node版本

C:>node -vv12.8.0

小伙伴儿们你们习惯使用哪个种方式呢?两种方式你们都学废了吗!评论区一起讨论一下吧!

更多node相关知识,请访问:nodejs 教程!

以上就是如何安装并管理多版本node?方法介绍的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/549880.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
如何利用Windows的“事件查看器”来追踪系统开机、关机、错误和警告的详细日志?
上一篇 2025年11月9日 19:32:57
Apple ID 登录 苹果官方网站账户登录入口
下一篇 2025年11月9日 19:33:04

相关推荐

  • 开源免费PHP工具 PHP开发效率提升利器

    推荐开源免费PHP开发工具以提升效率:VS Code、Sublime Text轻量高效,PhpStorm专业强大;调试用Xdebug、Kint、Ray;依赖管理选Composer;代码质量工具包括PHPStan、Psalm、PHP_CodeSniffer;数据库管理可用%ignore_a_1%MyA…

    2026年5月10日
    000
  • JavaScript 高效判断页面所有复选框状态的技巧与实践

    本文旨在提供一套高效且专业的javascript方法,用于判断网页中所有复选框的选中状态。我们将探讨如何利用`array.some()`快速确定是否有未选中的复选框(进而判断是否全部选中),以及如何使用`array.filter()`统计选中和未选中的复选框数量。通过优化dom元素选择和数组操作,提…

    2026年5月10日
    000
  • JavaScript Electron桌面应用

    答案:使用JavaScript开发%ignore_a_1%桌面应用需结合Web技术与Node.js,通过主进程管理窗口、渲染进程展示界面,并利用IPC通信,调用系统功能如文件对话框,最后用electron-builder打包发布,注意安全与进程职责分离。 用JavaScript开发Electron桌…

    2026年5月10日
    000
  • OSMnx中interpolate_points函数详解及街道细分与图构建实践

    本文详细介绍了osmnx库中`utils_geo.interpolate_points`函数的使用方法,特别是其返回的python生成器类型。我们将学习如何处理生成器输出,并提供一个完整的教程,演示如何利用此函数将现有街道几何体细分为更小的线段,进而构建一个精细化的网络图,以支持更细粒度的空间分析。…

    2026年5月10日
    000
  • 如何安全有效地从外部网页获取HTML元素数据并应用于自身页面

    本教程旨在解决如何在不同域名下,通过javascript获取并使用另一个网页的html元素数据。文章将深入探讨同源策略的限制,并提供两种主要解决方案:使用` 在现代Web开发中,有时我们需要从外部网站获取特定的HTML内容或属性值,并将其整合到我们自己的网页中。例如,从XYZ.COM/B.html页…

    2026年5月10日
    000
  • Golang如何提升TCP长连接处理效率_Golang TCP长连接处理性能优化实践详解

    答案:通过非阻塞I/O、单Goroutine双工模型、sync.Pool对象复用、TCP_NODELAY优化及高效心跳管理,结合系统调优,可显著提升Golang百万级TCP长连接处理效率。 在高并发网络服务场景中,TCP长连接的处理效率直接影响系统的吞吐能力和资源消耗。Golang凭借其轻量级Gor…

    2026年5月10日
    000
  • 使用SMTP.js发送邮件:客户端集成、常见问题与最佳实践指南

    本文深入探讨了使用SMTP.js库在前端发送邮件时可能遇到的问题,特别是与Elastic Email集成时的挑战。我们将分析代码中常见的异步处理错误、条件函数定义陷阱,并提供修正后的代码示例和最佳实践。重点强调了正确处理Promise链、确保函数可访问性以及客户端邮件发送的安全考量,帮助开发者构建更…

    2026年5月10日
    000
  • 怎么安装html5_HTML5开发环境安装与配置详细步骤

    答案是配置HTML5开发环境需三步:1. 安装VS Code等编辑器并配置插件;2. 使用Chrome或Firefox测试页面;3. 可选搭建本地服务器,如Live Server或http-server;最后创建index.html文件验证环境。 安装HTML5开发环境其实并不复杂,因为HTML5本…

    2026年5月10日
    000
  • JS如何操作HTML元素_DOM编程核心方法【教程】

    必须掌握操作HTML元素的核心DOM方法:一、通过ID获取单个元素;二、通过类名获取元素集合;三、通过标签名获取元素集合;四、通过CSS选择器获取元素;五、为元素绑定事件监听器;六、创建并插入新元素;七、替换或删除现有元素。 如果您希望使用JavaScript动态修改网页内容、响应用户交互或构建交互…

    2026年5月10日
    000
  • Windows用Prettier一键格式化乱码HTML代码

    首先确保HTML文件保存为UTF-8编码,使用文本编辑器另存为UTF-8格式;其次在命令行执行chcp 65001切换至UTF-8代码页后再运行Prettier;接着在VS Code中设置files.encoding为utf8并启用files.autoGuessEncoding;最后可通过Node.…

    2026年5月10日
    000
  • 如何在不暴露密钥的情况下,在客户端创建 Stripe Payment Link

    本文介绍了在纯静态网站环境下,如何利用 Stripe Payment Link 实现商品售卖,并着重讨论了在不暴露 Stripe 密钥的前提下,客户端创建 Payment Link 的可行性。分析了直接在客户端使用密钥的风险,并提出了预先生成 Payment Link 或使用后端服务动态生成 Pay…

    2026年5月10日
    000
  • php怎么截取网页_php抓取网页内容的几种方法

    file_get_contents适用于静态页抓取,但受限于allow_url_fopen且无法执行JS;2. cURL支持自定义请求头、Cookie等,适合处理复杂HTTP请求;3. Guzzle作为现代PHP项目推荐方案,具备良好扩展性与异步支持;4. 动态渲染内容需借助Puppeteer或Se…

    2026年5月10日
    000
  • html函数如何实现动态内容显示 html函数在网页交互中的核心应用

    JavaScript函数通过操作DOM实现动态内容更新与交互,如显示时间、实时搜索、增删元素及加载数据,使网页具备动态功能。 HTML 本身没有“函数”的概念,它是一种标记语言,用于定义网页结构。真正实现动态内容显示和交互功能的是 JavaScript。通常所说的“HTML函数”其实是 JavaSc…

    2026年5月10日
    000
  • HTMLAMP怎么做_加速移动页面实现教程

    答案:HTML AMP通过规范标签、禁用自定义JS、引入AMP JS库和缓存技术提升移动页面加载速度,需遵循AMP HTML标准并验证有效性,有助于SEO但非万能,未来将更开放并与PWA等融合。 HTML AMP 旨在加速移动页面加载速度,提升用户体验。简单来说,它通过限制某些 HTML 功能,并采…

    2026年5月10日
    000
  • 理解PHP服务器端请求与浏览器开发者工具的限制

    当PHP脚本使用file_get_contents等函数发起服务器端请求时,这些请求直接在服务器上执行,而非通过浏览器。因此,浏览器开发者工具的网络活动面板无法捕获和显示这些内部的服务器间通信,因为它仅监控浏览器自身发出的网络请求,对服务器内部处理过程无感知。 客户端请求与服务器端请求的本质区别 在…

    2026年5月10日
    000
  • JavaScript DOM操作:点击关联元素获取目标文本内容的教程

    本教程详细介绍了如何通过JavaScript处理用户点击事件,并结合DOM的 closest() 和 querySelector() 方法,从复杂的HTML结构中准确获取目标元素的文本内容。文章强调了使用 addEventListener() 进行事件绑定、避免重复ID以及高效DOM遍历的最佳实践,…

    2026年5月10日
    000
  • 前端构建优化:利用常量折叠提升应用性能

    本文深入探讨了一种在构建阶段执行部分源代码以进行优化的技术——常量折叠(Constant Folding)。通过在编译时预计算表达式并替换为最终结果,该技术显著减少了运行时开销,提升了应用性能。文章将详细解释其工作原理、优势,并探讨其在现代前端构建工具中的应用与配置,旨在帮助开发者实现更高效的代码优…

    2026年5月10日
    000
  • JavaScript数据结构实现_javascript算法基础

    JavaScript中常用数据结构包括栈、链表和字典:1. 栈利用数组的push和pop实现LIFO,适用于括号匹配;2. 链表由节点组成,插入删除高效,适合频繁修改场景;3. 字典用对象实现键值对存储,常用于频率统计;4. 二分查找在有序数组中以O(log n)效率查找目标值,需数组已排序。掌握这…

    2026年5月10日
    000
  • JavaScript井字棋(Tic-Tac-Toe)核心交互逻辑实现教程

    本教程详细介绍了如何使用javascript实现井字棋(tic-tac-toe)游戏的核心交互逻辑。内容涵盖了如何遍历并为棋盘上的每个方格添加点击事件监听器,实现玩家x和o的交替落子,以及重置游戏状态的功能。通过提供的html、css和javascript代码示例,读者可以快速理解并构建一个基础的井…

    2026年5月10日
    000
  • 全栈JS代码怎么结构化_全栈JavaScript项目代码结构与规范指南

    采用分层+功能划分的目录结构,明确分离前后端代码;2. 遵循单一职责原则,路由、控制器、服务与模型各司其职;3. 统一命名规范并集成ESLint+Prettier保证代码风格一致;4. 使用环境变量管理配置,通过脚本实现自动化构建与并发启动服务。 全栈JavaScript项目涉及前端、后端、数据库交…

    2026年5月10日
    000

发表回复

登录后才能评论
关注微信