安装多版本node环境,以及旧版本node的方法

要在一台机器上安装并管理多个版本的 Node.js 环境,最常用的工具是 Node Version Manager (nvm)nvm 允许你轻松地安装和切换不同版本的 Node.js。以下是如何使用 nvm 安装多个版本的 Node.js 环境的详细步骤。

一、安装 NVM(Node Version Manager)

1. Windows 上安装 NVM

Windows 版本的 nvm 是一个独立的项目,叫做 nvm-windows。可以通过以下步骤安装:

  1. 下载 NVM for Windows

  2. 安装 NVM

    • 解压并运行 nvm-setup.exe
    • 选择安装路径(默认安装在 C:\Program Files\nodejs\),完成安装。
  3. 配置环境变量

    • 安装完成后,nvm 会自动配置好环境变量。
    • 你可以通过终端输入 nvm 检查安装是否成功。

二、使用 NVM 安装多个版本的 Node.js

  1. 列出所有可用的 Node.js 版本

    nvm list available
    

    这会列出所有可用的 Node.js 版本,你可以选择你想安装的版本。
    输出效果

    E:\x\y>nvm list available
    
    |   CURRENT    |     LTS      |  OLD STABLE  | OLD UNSTABLE |
    |--------------|--------------|--------------|--------------|
    |    23.0.0    |   20.18.0    |   0.12.18    |   0.11.16    |
    |   22.10.0    |   20.17.0    |   0.12.17    |   0.11.15    |
    |    22.9.0    |   20.16.0    |   0.12.16    |   0.11.14    |
    |    22.8.0    |   20.15.1    |   0.12.15    |   0.11.13    |
    |    22.7.0    |   20.15.0    |   0.12.14    |   0.11.12    |
    |    22.6.0    |   20.14.0    |   0.12.13    |   0.11.11    |
    |    22.5.1    |   20.13.1    |   0.12.12    |   0.11.10    |
    |    22.5.0    |   20.13.0    |   0.12.11    |    0.11.9    |
    |    22.4.1    |   20.12.2    |   0.12.10    |    0.11.8    |
    |    22.4.0    |   20.12.1    |    0.12.9    |    0.11.7    |
    |    22.3.0    |   20.12.0    |    0.12.8    |    0.11.6    |
    |    22.2.0    |   20.11.1    |    0.12.7    |    0.11.5    |
    |    22.1.0    |   20.11.0    |    0.12.6    |    0.11.4    |
    |    22.0.0    |   20.10.0    |    0.12.5    |    0.11.3    |
    |    21.7.3    |    20.9.0    |    0.12.4    |    0.11.2    |
    |    21.7.2    |   18.20.4    |    0.12.3    |    0.11.1    |
    |    21.7.1    |   18.20.3    |    0.12.2    |    0.11.0    |
    |    21.7.0    |   18.20.2    |    0.12.1    |    0.9.12    |
    |    21.6.2    |   18.20.1    |    0.12.0    |    0.9.11    |
    |    21.6.1    |   18.20.0    |   0.10.48    |    0.9.10    |
    
    This is a partial list. For a complete list, visit https://nodejs.org/en/download/releases
    
  2. 安装指定的 Node.js 版本
    运行以下命令安装你需要的某个 Node.js 版本(例如 v14.17.0):

    nvm install 14.17.0
    
  3. 查看已安装的 Node.js 版本
    运行以下命令列出你本地已经安装的所有 Node.js 版本:

    nvm ls
    nvm list
    
  4. 切换 Node.js 版本
    当你安装了多个版本后,可以通过以下命令切换到不同的 Node.js 版本:

    nvm use 14.17.0
    
  5. 设置默认 Node.js 版本
    如果你希望在每次打开终端时默认使用某个版本,可以运行以下命令设置默认版本:

    nvm alias default 14.17.0
    
  6. 卸载不需要的 Node.js 版本
    如果你不再需要某个版本的 Node.js,可以使用以下命令卸载:

    nvm uninstall 14.17.0
    

通过 nvm,你可以灵活地管理多个 Node.js 版本,方便开发不同的项目。在开发多个需要不同 Node.js 版本的项目时,nvm 是非常有用的工具。

三、关于npm的安装

  1. 什么是 NPM?
    NPM(Node Package Manager)是 Node.js 的包管理器,也是全球最大的 JavaScript 包管理平台。NPM 使得开发者可以轻松安装、分享和管理项目的依赖项,并通过共享库和工具来快速开发和部署项目。
  2. NPM 与 Node.js 的关系
    NPM 是 Node.js 的默认包管理工具。当你安装 Node.js 时,NPM 会自动一同安装。两者之间的关系紧密,因为 NPM 管理的依赖库大多是为 Node.js 应用开发的。
  • Node.js:是一个运行 JavaScript 的服务器端平台,用于构建高性能、可扩展的网络应用程序。
  • NPM:作为 Node.js 的配套工具,提供了一个强大的生态系统,使开发者可以使用和分享各种功能包来加快开发进程。
  1. Node.js 和 NPM 如何协作
  • 依赖管理:当你在 Node.js 项目中需要第三方库时,NPM 可以帮助你轻松获取并管理这些依赖项。例如,想要引入 express 框架来构建服务器,只需运行:

    npm install express
    

    然后在你的 Node.js 代码中:

    const express = require('express');
    
  • 项目管理package.json 文件是 NPM 和 Node.js 项目管理的核心。它定义了项目的名称、版本、依赖项等。NPM 使用该文件来管理和安装所需的依赖库,并确保项目在不同开发环境中的一致性。

  • 脚本管理:NPM 提供了一个简单的方式来管理和运行脚本任务。你可以在 package.json 中定义各种脚本任务,并通过 npm run 命令运行它们。例如:

    "scripts": {
      "start": "node app.js",
      "test": "mocha"
    }
    

    然后,你可以使用 npm start 来启动应用,或者使用 npm test 运行测试。

  1. 使用nvm安装不同版本node时,会自动安装对应的npm

     C:\x\y>nvm install 14.15.4
     Downloading node.js version 14.15.4 (64-bit)...
     Complete
     Downloading npm version 6.14.10... Complete
     Installing npm v6.14.10...
     
     Installation complete. If you want to use this version, type
     
     nvm use 14.15.4
    

    前面我安装的14.15.4就自动装上了对应的npm(版本是6.14.0)

    使用nvm切换版本后,就可以正常使用对应的npm了,如下图: nvm切换版本后使用npm

四、使用nvm安装旧版本node时npm安装不上如何处理

  1. 使用nvm安装旧版本node时遇到问题,无法安装对应的npm

    C:\x\y>nvm install 6.9.0
    Downloading node.js version 6.9.0 (64-bit)...
    Complete
    Creating C:\x\y\AppData\Roaming\nvm\temp
    
    Downloading npm version 3.10.8... Download failed. Rolling Back.
    C:\x\y\AppData\Roaming\nvm\temp\npm-v3.10.8.zip
    Rollback failed. remove C:\x\y\AppData\Roaming\nvm\temp\npm-v3.10.8.zip:
     The process cannot access the file because it is being used by another process.
    
    Could not download npm for node v6.9.0.
    Please visit https://github.com/npm/cli/releases/tag/v3.10.8 to download npm.
    It should be extracted to C:\x\y\AppData\Roaming\nvm\v6.9.0
    

    此时,可以切换node版本,但npm是不可以使用的,如下:

    C:\x\y>nvm use 6.9.0
    Now using node v6.9.0 (64-bit)
    
    C:\x\y>node -v
    v6.9.0
    
    C:\x\y>npm -v
    'npm' is not recognized as an internal or external command,
    operable program or batch file.
    
  2. 手动安装node版本对应的npm

  • 按照上面的提示去github上下载对应的包,这里下载下来是压缩包,如下图:
    github下载的npm旧版本压缩包

npm地址:https://github.com/npm/cli/

  • 解压后,放到nvm对应的node版本下的node_mdules下,还要把包名改成npm,如下图:
    将旧版本的npm放到node的node_mdules里
  • 还要把npm下面的bin目录下的npm和npm.cmd文件复制到nvm的node版本目录下,如下图:
    复制npm的bin文件到node版本目录下
    到这里,npm就安装成功了,旧版本的node环境可以正常使用了,如下图:
    v6.9.0的node安装npm成功
  1. 再尝试一下装新版本node
    这里,我装了20.18.0,可以安装成功,但使用时会弹窗报错,可能是我的系统太老了,不支持使用。如下图:
    无法使用node20.18.0
    此时,使用npm ls来查看的话,发现也没有真切到20.18.0版本,如下图:
    没有真切到20.18.0版本node
    我这里最高能安装上的LTS版本,是18.20.4,如下图:
    可以成功安装18.20.4的node

小结一下

  • 旧版本的node,需要去github上下载,并手动安装对应npm
  • 较新版本的node,使用淘宝的源,就可以自动安装对应的npm
  • 非常新版本的node,在我电脑上,是能安装成功,但无法切换使用的

扩展一下

  1. 安装多版本node,还查到了一个方法
    简单说一下,就是去nodejs官网下载安装文件(windows是用的msi文件),然后双击安装到指定目录,可以把目录名设定成版本号,安装完一个版本后,需要把该目录改一下名,再去安装下一个版本(因为作者说如果不给前一个安装的目录改名,那在安装下一个版本的node时会把前一个版本的node都干掉),这样操作后,就有两个版本的node了,通过增加环境变量,可以把两个版本的node都启用。
    注意:安装时,作者建议是从低版本的node开始安装,就是装低版本的,再装高版本,依次装上去
  2. windows增加环境变量的方法
    控制面板-高级系统设置
    系统属性弹窗中,点击环境变量

增加path里的node可执行文件路径
我这里应该追加的是;C:\x\y\node\6.9.0\;C:\x\y\node\6.9.4\,注意需要用;分隔。

  • 这个方法我简单试了一下,基本是可行的。
  • 这个方法有一个好处,就是每装一个node,都会自带对应的npm,不需要你再去github上手动安装了。

原文地址是:https://www.cnblogs.com/alinelong/p/18025263

记录一个坑

nvm list/nvm install 版本号不响应,就卡在那里。。此时,nvm list是可以正常返回的。
nvm list/nvm install 版本号不响应
查资料,都是查到说要设置淘宝镜像的,其实这个是对的,这个步骤我也早都作了,但不是我这个问题的原因。

后面,排查了半天,发现是我在重复安装nvm的过程中,给nvm指定了自定义的路径,然后,就出问题了。。卸载又重装,仍然使用默认路径安装,nvm就可以正常使用了。
ps:其实没搞懂为啥自定义路径不行,估计大概率和环境变量有关,或者和配置文件settings.txt有关,,无所谓了。

  1. 如何配置淘宝镜像
    这个其实在刚装完nvm就要配置的,否则没法下载安装node包。 需要配置的文件是:
    nvm的配置文件settings.txt
    需要增加的内容是:

    node_mirror: https://npmmirror.com/mirrors/node/
    npm_mirror:  https://npmmirror.com/mirrors/npm/
    
  2. 资料里相关的下载链接

nodejs官方
https://nodejs.org/zh-cn/download/package-manager
https://nodejs.org/en/download/package-manager
淘宝镜像
https://registry.npmmirror.com/binary.html?path=node/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值