如何使用nvm来管理不同版本的 Node.js,然后使用不同的 Node.js 版本来运行不同版本的 React 应用?

要使用 nvm 来管理不同版本的 Node.js,可以按照以下步骤进行操作:

  1. 安装 nvm

    可以在 nvm 的 GitHub 仓库中找到安装说明,根据自己的操作系统和需求进行安装。

  2. 安装多个 Node.js 版本

    在安装了 nvm 后,可以使用 nvm install 命令来安装多个 Node.js 版本,例如:

nvm install 10.24.1
nvm install 14.17.6
  1. 使用指定版本的 Node.js

    安装完多个 Node.js 版本后,可以使用 nvm use 命令来切换使用不同版本的 Node.js,例如:

    nvm use 10.24.1

    这将会把当前的 Node.js 版本切换为 10.24.1。

    如果想在当前终端会话中永久切换到某个版本的 Node.js,可以使用 nvm alias 命令,例如:

    nvm alias default 14.17.6

    这将会把默认使用的 Node.js 版本切换为 14.17.6。

  2. 运行 React 应用

    使用不同版本的 Node.js 运行 React 应用时,需要在项目的根目录下创建一个 .nvmrc 文件,并在文件中指定所需的 Node.js 版本,例如:

# .nvmrc
10.24.1
当然也可以在里面使用别名
# .nvmrc
my-node
然后在终端中进入项目根目录,使用 `nvm use` 命令来切换到指定版本的 Node.js,然后使用 `npm start` 命令来启动 React 应用,例如:
nvm use
npm start
这将会在当前终端会话中切换到项目指定的 Node.js 版本,并启动 React 应用。如果要在其他终端会话中也使用相同版本的 Node.js,需要再次使用 `nvm use` 命令来切换版本。

可以自己命名nvm的不同环境吗?

可以使用 nvm 创建自定义别名(alias)来为每个环境指定您喜欢的名称。使用以下命令创建自定义别名:

nvm alias myapp 14.16.1

这将创建一个名为 myapp 的别名,指向 14.16.1 版本的 Node.js。您可以使用 nvm use 命令切换到该版本:

nvm use myapp

同样,您可以创建多个不同的别名,每个别名可以指向不同版本的 Node.js。这样,您就可以在同一台计算机上同时运行多个 React 应用,每个应用使用不同版本的 Node.js 环境。

可以给同一个版本的node创建多个环境吗

是的,您可以使用 nvm 创建多个相同版本的 Node.js 环境。这在您需要在不同的项目中使用相同版本的 Node.js 时非常有用,但每个项目可能需要不同的全局模块。

例如,要创建名为 myproject1 的新环境,可以使用以下命令:

nvm install 14.16.1 --reinstall-packages-from=default --alias=myproject1

这将在 14.16.1 版本的 Node.js 中创建一个新环境,并将 default 环境的全局模块重新安装到 myproject1 环境中。

要使用新环境,请使用 nvm use 命令:

nvm use myproject1

现在,您可以安装项目特定的全局模块,并在 myproject1 环境中运行应用程序。

您还可以使用类似的方式创建其他项目所需的环境,每个环境可以拥有不同的全局模块。

那我已经有了npm创建的环境,想要将现在的环境作为nvm默认环境,然后创建其他环境,应该如何操作?

如果您已经使用 npm 安装了 Node.js,并且希望将其设置为 nvm 的默认版本,则可以使用以下命令:

nvm use system

这将使用系统安装的 Node.js 版本,并将其设置为 nvm 的默认版本。

接下来,您可以使用 nvm install 命令来安装其他版本的 Node.js,并使用 nvm use 命令切换到特定版本的 Node.js。

例如,如果您要安装 14.16.1 版本的 Node.js,请使用以下命令:

nvm install 14.16.1

这将安装 14.16.1 版本的 Node.js。

然后,您可以使用以下命令将默认版本设置为 14.16.1

nvm alias default 14.16.1

这将使 14.16.1 版本的 Node.js 成为默认版本。现在,每次打开新的终端窗口时,都会使用 14.16.1 版本的 Node.js。

您可以使用 nvm use 命令来切换到其他版本的 Node.js。例如,如果您要切换到 12.22.1 版本的 Node.js,请使用以下命令:

nvm use 12.22.1

这将使 12.22.1 版本的 Node.js 成为当前版本。

【chatQA】nvm包版本管理的更多相关文章

  1. npm2 与 npm3的包版本管理

    npm2采用严格的包依赖模式 npm install name@1.2.* ---- 1.2.0 <= version <= 1.2.9 npm install name@1.* ---- ...

  2. 前端资源多个产品整站一键打包&包版本管理(二)——如何在bower的配置文件加上注释

    问题: 当一个工程里面有好几个项目,每个项目引用同一个包,但是不同的名字,例如在bower中 fancybox 跟 jquery.fancybox 是一样的,我们只需要下载其中的一个版本,而打包工作不 ...

  3. 前端资源多个产品整站一键打包&包版本管理(一)

    来新公司工作的第五个月.整站资源打包管理也提上了日程. 问题: 首先.什么是整站的打包管理呢? 我们公司的几个重要产品都在同一个webapp里面,但是,不同的开发部门独立开发不同的产品,长期以来,我们 ...

  4. linux安装nvm node版本管理器 nvm常用命令 部署node服务器环境

    1,nvm git地址点击打开链接,安装命令 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh ...

  5. nvm: node版本管理工具

    安装nvm   curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash node 版本切 ...

  6. nvm Nodejs 版本管理器 安装及配置

    1.如果已安装nodejs请先卸载干净 nodejs:删除C:\Program Files\nodejs 文件夹 npm:删除C:\Users\{用户名}\AppData\Roaming\npm 文件 ...

  7. nvm —— Node版本管理工具

    nvm下载 下载地址 下载nvm-setup.zip文件 nvm安装 1.以管理员身份运行install.cmd文件,设置文件路径 root: C:\Users\Administrator\AppDa ...

  8. 记一次发布/更新npm包的过程及包版本管理

    您可以发布包含package.json文件的任何目录.这里如何首次发布程序包以及如何在以后更新程序包. 如何发布包 制备 了解npm政策 在开始之前,如果您对网站礼仪,命名,许可或其他指南有疑问,最好 ...

  9. 前端资源多个产品整站一键打包&包版本管理(四)—— js&css文件文件打包并生成哈希后缀,自动写入路径、解决资源缓存问题。

    问题: 当我们版本更新的时候,我们都要清理缓存的js跟css,如何使得在网页中不需要手动清理呢? 答案: 生成带有哈希后缀的js跟css文件 1.文件路径 路径中的conf.js 是用于放置全局打包的 ...

  10. 前端资源多个产品整站一键打包&包版本管理(三)—— gulp分流

    问题: 当我们一个工作台里面有好几个项目的时候,我们要为项目的前端资源进行打包,但是,gulpfile只有一个,如果我们把所有的打包都放在同一个文件里面,首先文件会越来越大,而且不便于管理,这时,我们 ...

随机推荐

  1. 2022-3-11内部群每日三题-清辉PMP

    1.供应商通知项目经理可能延迟交付一个模块.项目经理应该怎么做? A.立即通知相关方. B.通过增加额外的天数来修改项目管理计划,并记录它们对项目时间的影响. C.审查风险管理计划以评估风险,然后通知 ...

  2. TypeScript Map 对象

    TypeScript Map 对象 Map 对象保存键值对,并且能够记住键的原始插入顺序. 任何值(对象或者原始值) 都可以作为一个键或一个值. Map 是 ES6 中引入的一种新的数据结构,可以参考 ...

  3. 其他4-shell脚本后台运行知识

    1. 用途和方法 在实际工作中,一般会通过ssh连接服务器,隐藏可能就会有脚本或命令在执行期间不能中断的需求,若中断,则不仅前功尽弃,还可能破坏系统数据,下面是防止脚本执行终端的3种方法: 1)使用s ...

  4. 【RTOS】《基于嵌入式实时操作系统的程序设计技术》——任务的划分与封装

    任务的划分与封装 关键任务的划分处理 对于某些对于系统的正常运作至关重要,少执行一次会对系统产生较大影响的功能,我们倾向于将它从原有任务中剥离出来,称为关键任务,用一个独立任务或者ISR(如外部中断) ...

  5. JDBC概念和基本用法

    概念:     JDBC (Java DataBase Connectivity):Java数据库连接,Java语言操作数据库.是官方(sun公司)定义的一套操作所有关系型数据库的规则, 即接口.各个 ...

  6. 通过ref调取子组件方法

    子 async update(res){ //this.$refs.child.animates(); this.userform = res; }, 主 <DetailEdit @detail ...

  7. APP性能测试——首次启动耗时测试

    首次启动耗时: 即第一次安装(清除数据也可以),打开软件,直到进入到首页activity页面,并计算耗时. 示例代码: import os import time # 测试首次启动时间 # 创建App ...

  8. 元素定位xpath路径中添加参数的方法

    在某次自动化测试中,需要定位下拉列表(非select列表)中不同的元素,我想到了利用参入参数的方式来实现,经过多次尝试,得到如下方法,与大家分享 例如在通过text定位某个元素时,self.find_ ...

  9. Leetcode61

    !!Given the head of a linked list, rotate the list to the right by k places.!!   # Definition for si ...

  10. 异常(Java)

    异常 基本介绍 什么是异常? 在实际工作中,遇到的情况不可能是非常完美.比如:你写的某个模块,用户输入不一定符合你的要求.你的程序要打开某个文件,这个文件可能不存在或者文件格式不对 软件程序在运行过程 ...