如何使用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. chrome 请停用以开发者

    链接:https://pan.baidu.com/s/1YhWINGlUVyTE5XyBVIGW_Q 提取码:23t2 转载至   https://www.cnblogs.com/it-tsz/p/9 ...

  2. MySQL8.0的下载、安装、配置

    转1: MySQL8.0的下载.安装.配置 MySQL8安装教程(下载.安装.连接.卸载) Navicat Premium 15激活(含注册机)

  3. curl从入门到精通教程

    直接看英文版 https://catonmat.net/cookbooks/curl

  4. 阿里开源的几个中间件 dubbo/RocketMQ/canal/druid 代码还是很不错的

    阿里开源的几个中间件 dubbo/RocketMQ/canal/druid 代码还是很不错的

  5. 求两个自然数之间的最大公约数C++实现

    1 #include "pch.h" 2 #include <iostream> 3 using namespace std; 4 5 int main() 6 { 7 ...

  6. iOS 高级面试题

    面试题 iOS 基础题 分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员? 讲一下atomic的实现机制:为什么不能保证绝对的线程安全(最好可以结合场景来说)? ...

  7. CF960G

    首先我们考虑$n$的情况,显然以$n$为分界线可以将整个序列分成两部分,就像这样: . 那么我们考虑:在这个东西前面才会有前缀最大的统计,在这个东西后面才会有后缀最大的统计 这样就剩下了$n-1$个元 ...

  8. ubuntu20安装open4.4带扩展库

    0查看当前版本安装 opencv_version 已经装了3.49 再装个4.4共存 1安装依赖库 sudo add-apt-repository "deb http://security. ...

  9. 通过Windows定时任务执行Python脚本给钉钉群发送消息

    前提:已经存在有成功发送钉钉群机器人消息的python脚本,参考上一篇Python调用钉钉群机器人发送群消息 Windows定时任务设置 1.本机是Win7系统:控制面板->系统和安全-> ...

  10. git cherry-pick适用场景详解

    前提条件:有2个分支,分别是master,hotfix,其中master是用于生产环境的发布分支. 场景1:生产环境hotfix. T1时刻,使用master分支发布生产.当时的HEAD的commit ...