[学习笔记]在不同项目中切换Node.js版本
@
在开发中,可能会遇到不同的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\nodejs16和C:\Program Files\nodejs22


设置环境变量
可以在系统的环境变量配置中手动设置 NODE_HOME。
在 Windows 上:
- 打开 "系统属性" > "高级系统设置" > "环境变量"。
- 在 "系统变量" 或 "用户变量" 中点击 "新建"。
- 创建一个新的变量
NODE_HOME,并设置它的值为 Node.js 安装路径。

- 找到
Path变量,点击 "编辑"。 - 添加一个新条目:
%NODE_HOME%。
在 macOS/Linux 上:
打开终端,编辑
.bashrc、.bash_profile或.zshrc文件:export NODE_HOME=/usr/bin/nodejs22 export PATH=$NODE_HOME:$PATH保存文件并运行
source ~/.bashrc或source ~/.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版本的更多相关文章
- Node.js学习笔记2(安装和配置Node.js)
1.安装 windows下安装,在http://nodejs.org下载安装包进行安装即可. linux下安装,使用yum或者下载源码进行编译. ...
- Cocos2dx 学习笔记整理----在项目中使用图片(三)
这节练习下DragonBones. 手机由于性能所限,需要特注意资源的使用. 游戏项目的话由于资源比较多,一般都会用到DragonBones来做动作,这个又称为龙骨. DragonBones传送点:h ...
- Cocos2dx 学习笔记整理----在项目中使用图片(一)
cocos2dx有多种使用图片的方法,先来个最简单的:用CCSprite直接使用图片. 首先,进入到之前建立的项目,把你将要使用的图片放入到目录下的Resources文件夹里面.项目中以相对路径使用资 ...
- Cocos2dx 学习笔记整理----在项目中使用图片(二)
之前了解了一种比较简单的图片的使用方式, 今次来了解稍微复杂一点的图片使用方式,plist+png. 这里要用到之前提到的Texture Packer. Texture Packer是一款图片打包工具 ...
- 使用nvm管理node.js版本以及更换npm淘宝镜像源
目录 1,前言 2,安装nvm 3,nvm的使用 4,错误处理 5,修改npm默认镜像源 6,win10下cnpm报错 1,前言 注意:此教程仅限Windows,Mac可能不适用 在我们的日常开发中可 ...
- Docker技术入门与实战 第二版-学习笔记-10-Docker Machine 项目-2-driver
1>使用的driver 1〉generic 使用带有SSH的现有VM/主机创建机器. 如果你使用的是机器不直接支持的provider,或者希望导入现有主机以允许Docker Machine进行管 ...
- Scrapy:学习笔记(2)——Scrapy项目
Scrapy:学习笔记(2)——Scrapy项目 1.创建项目 创建一个Scrapy项目,并将其命名为“demo” scrapy startproject demo cd demo 稍等片刻后,Scr ...
- Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问
本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这 ...
- golang学习笔记6 beego项目路由设置
golang学习笔记5 beego项目路由设置 前面我们已经创建了 beego 项目,而且我们也看到它已经运行起来了,那么是如何运行起来的呢?让我们从入口文件先分析起来吧: package main ...
- 在Github的fork项目中切换分支来提交PR
在Github的fork项目中切换分支来提交PR 查看远程所有分支 git branch不带参数,列出本地已经存在的分支,并且在当前分支的前面用*标记,加上-a参数可以查看所有分支列表,包括本地和远程 ...
随机推荐
- NXP i.MX 8M Plus工业开发板硬件说明书( 四核ARM Cortex-A53 + 单核ARM Cortex-M7,主频1.6GHz)
前 言 本文主要介绍创龙科技TLIMX8MP-EVM评估板硬件接口资源以及设计注意事项等内容. 创龙科技TLIMX8MP-EVM是一款基于NXP i.MX 8M Plus的四核ARM Cortex- ...
- typora markdown笔记
前言 此为个人markdown笔记,不定时更新. 正文 1. mermaid 使用 横向流程图 源码 graph LR a(起始)-->b(中间) b-->c1<-->d b- ...
- Ubuntu 查看用户历史记录
Ubuntu 查看用户历史记录 1. 查看用户命令行历史记录 1. 查看当前登录账号所属用户的历史命令行记录 打开命令行,输入 history 就会看到当前登录账号所属用户的历史记录 2. 查看系统所 ...
- js - 面向对象--手稿
- vue3 'alex' is defined but never used
解决方法 在package.json中的rules下加入 "no-unused-vars":"off" 即可
- SpringBoot 整合 Sharding-JDBC 分库分表
导读 分库分表的技术有:数据库中间件Mycat(点我直达),当当网开源的Sharding-JDBC:我们公司用的也是sharding-jdbc,自己也搭建一个完整的项目,直接可以拿来用.下面附源码(C ...
- mysql 授权远程连接
解决方案 改表法 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 &quo ...
- windows下使用dockerdesktop进行部署
Docker部署springboot项目 环境准备 要在windows上使用docker需要确认系统的需求 需要启用虚拟化支持的CPU 启用适用于windows的Linux子系统功能 保证足够的内存 ...
- 集群及分布式定时任务中间件MEE_TIMED
集群及分布式定时任务中间件MEE_TIMED 转载请著名出处:https://www.cnblogs.com/funnyzpc/p/18312521 MEE_TIMED一套开源的定时任务中间件,MEE ...
- Pandas库学习笔记(5)---Pandas Panel
Pandas Panel Pandas Panel基本操作 Panel数据3D容器. 术语 Panel data 源自计量经济学,名称来之于pandas − pan(el)-da(ta)-s. 3个轴 ...