@

在开发中,可能会遇到不同的Vue项目需要不同的Node.js,在开发机上如何快速切换Node的版本呢?

使用 Node Version Manager (NVM)

安装 NVM

在 Linux 或 macOS 上可以通过以下命令安装 NVM:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

在 Windows 上,可以下载并安装 nvm-windows

使用 NVM 安装和切换 Node.js 版本

安装一个特定版本的 Node.js:

nvm install 16

nvm install 22

切换到指定的 Node.js 版本:

nvm use 22

可以通过以下命令检查当前使用的 Node.js 版本:

node -v

为项目指定 Node.js 版本

可以在项目根目录中创建一个 .nvmrc 文件,里面指定该项目需要使用的 Node.js 版本:

16

然后,在进入项目目录时,运行以下命令自动使用 .nvmrc 中指定的版本:

nvm use

使用环境变量指定 Node.js

安装多个版本的 Node.js

下载 Node.js,并在不同目录下安装多个版本。如C:\Program Files\nodejs16C:\Program Files\nodejs22

设置环境变量

可以在系统的环境变量配置中手动设置 NODE_HOME

在 Windows 上:

  1. 打开 "系统属性" > "高级系统设置" > "环境变量"。
  2. 在 "系统变量" 或 "用户变量" 中点击 "新建"。
  3. 创建一个新的变量 NODE_HOME,并设置它的值为 Node.js 安装路径。

  1. 找到 Path 变量,点击 "编辑"。
  2. 添加一个新条目:%NODE_HOME%

在 macOS/Linux 上:

  1. 打开终端,编辑 .bashrc.bash_profile.zshrc 文件:

    export NODE_HOME=/usr/bin/nodejs22 export PATH=$NODE_HOME:$PATH

  2. 保存文件并运行 source ~/.bashrcsource ~/.zshrc 以使更改生效。

通过更改 NODE_HOME 环境变量的路径,实现切换Node.js 的版本。

验证配置

可以通过以下命令验证 Node.js 是否已成功通过 NODE_HOME 变量加载:

node -v

输出应显示所配置的 Node.js 版本:

cross-env 是一个用于在不同操作系统上设置和使用环境变量的工具,可以用它来切换 NODE_HOME 环境变量,以确保在不同的操作系统上都能正确设置和使用 Node.js 的路径。

package.json 中,可以定义如下的 npm 脚本:

{
"scripts": {
"set-node16": "cross-env NODE_HOME=C:\\Program Files\\nodejs16",
"set-node22": "cross-env NODE_HOME=C:\\Program Files\\nodejs22",
"set-node16-unix": "cross-env NODE_HOME=/usr/bin/nodejs16",
"set-node22-unix": "cross-env NODE_HOME=/usr/bin/nodejs22"
}
}

使用 npm 脚本切换

可以根据操作系统和需要的 Node.js 版本运行相应的脚本:

在 Windows 上:

npm run set-node16

在 Unix 系统上(Linux/Mac):

npm run set-node16-unix

总结:最好是通过第一种方式,因为手动配置环境变量的方式会产生依赖,需要在同事的电脑上手动配置。

[学习笔记]在不同项目中切换Node.js版本的更多相关文章

  1. Node.js学习笔记2(安装和配置Node.js)

            1.安装         windows下安装,在http://nodejs.org下载安装包进行安装即可.         linux下安装,使用yum或者下载源码进行编译.     ...

  2. Cocos2dx 学习笔记整理----在项目中使用图片(三)

    这节练习下DragonBones. 手机由于性能所限,需要特注意资源的使用. 游戏项目的话由于资源比较多,一般都会用到DragonBones来做动作,这个又称为龙骨. DragonBones传送点:h ...

  3. Cocos2dx 学习笔记整理----在项目中使用图片(一)

    cocos2dx有多种使用图片的方法,先来个最简单的:用CCSprite直接使用图片. 首先,进入到之前建立的项目,把你将要使用的图片放入到目录下的Resources文件夹里面.项目中以相对路径使用资 ...

  4. Cocos2dx 学习笔记整理----在项目中使用图片(二)

    之前了解了一种比较简单的图片的使用方式, 今次来了解稍微复杂一点的图片使用方式,plist+png. 这里要用到之前提到的Texture Packer. Texture Packer是一款图片打包工具 ...

  5. 使用nvm管理node.js版本以及更换npm淘宝镜像源

    目录 1,前言 2,安装nvm 3,nvm的使用 4,错误处理 5,修改npm默认镜像源 6,win10下cnpm报错 1,前言 注意:此教程仅限Windows,Mac可能不适用 在我们的日常开发中可 ...

  6. Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-2-driver

    1>使用的driver 1〉generic 使用带有SSH的现有VM/主机创建机器. 如果你使用的是机器不直接支持的provider,或者希望导入现有主机以允许Docker Machine进行管 ...

  7. Scrapy:学习笔记(2)——Scrapy项目

    Scrapy:学习笔记(2)——Scrapy项目 1.创建项目 创建一个Scrapy项目,并将其命名为“demo” scrapy startproject demo cd demo 稍等片刻后,Scr ...

  8. Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问

    本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这 ...

  9. golang学习笔记6 beego项目路由设置

    golang学习笔记5 beego项目路由设置 前面我们已经创建了 beego 项目,而且我们也看到它已经运行起来了,那么是如何运行起来的呢?让我们从入口文件先分析起来吧: package main ...

  10. 在Github的fork项目中切换分支来提交PR

    在Github的fork项目中切换分支来提交PR 查看远程所有分支 git branch不带参数,列出本地已经存在的分支,并且在当前分支的前面用*标记,加上-a参数可以查看所有分支列表,包括本地和远程 ...

随机推荐

  1. spark中各窗口函数对于窗口的要求

    窗口参数: class WindowSpec private[sql]( partitionSpec: Seq[Expression], orderSpec: Seq[SortOrder], fram ...

  2. Centos 下Rabbit MQ 常用操作指令 汇总

    1.rabbitmq 服务的启动停止. service rabbitmq-server start service rabbitmq-server stop 重启命令需要依次执行 stop 再 sta ...

  3. C# 获取指定年月的第一天和最后一天、获取本月的第一天和最后一天、获取当前日期的星期几等

    •获取指定年月的第一天 public static DateTime GetCurMonthFirstDay(string year,string mon) { DateTime AssemblDat ...

  4. 使用@nuxtjs/sitemap给项目添加sitemap(网站地图)

    安装使用步骤参照:此博客内容转载博客地址:https://huangliangbo.com/2097 如何使用?(详细图文) 在项目根目录下使用yarn/npm/cnpm 安装 @nuxtjs/sit ...

  5. tp5.1--数据库事务操作

    https://blog.csdn.net/qq_42176520/article/details/88708395 使用事务处理的话,需要数据库引擎支持事务处理.比如 MySQL 的 MyISAM  ...

  6. 基于微信小程序+Springboot线上租房平台设计和实现【三端实现小程序+WEB响应式用户前端+后端管理】

    感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询 一. 前言介绍: 近年来,我国的社会经济迅猛发展,社会对于房屋租赁的需求也在不断增多.在房屋租赁企业中面对繁琐而 ...

  7. Known框架实战演练——进销存数据结构

    系统主要包含商品信息.商业伙伴(客户.供应商)信息.业务单表头信息.业务单表体信息.对账单表头信息.对账单表体信息. 1. 商品信息(JxGoods) 该表用于存储公司商品信息. 名称 代码 类型 长 ...

  8. LOTO示波器功率分析功能

    LOTO示波器软件在非标功能中增加了功率分析功能,对当前屏幕的电压波形和电流波形进行了瞬时功率,视在功率以及有功功率/平均功率的分析计算. 有功功率是指电器所消耗的电能,用于产生热能.机械能或光能等, ...

  9. ComfyUI插件:ComfyUI Impact 节点(三)

    前言: 学习ComfyUI是一场持久战,而 ComfyUI Impact 是一个庞大的模块节点库,内置许多非常实用且强大的功能节点 ,例如检测器.细节强化器.预览桥.通配符.Hook.图片发送器.图片 ...

  10. jmeter forEach循环获取response参数值进行接口请求

    jmeter forEach循环获取response参数值进行接口请求 注意: 一,ForEach控制器 输入变量前缀:输入正则表达式变量的引用名称即可 Start index for loop(ex ...