[学习笔记]在不同项目中切换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参数可以查看所有分支列表,包括本地和远程 ...
随机推荐
- Numpy技巧: 由label获得相等矩阵
Numpy技巧: 由label获得相等矩阵 假设Label为: [ABAC] , 如何方便的得到一个矩阵, 其元素i,j表示第i位和第j位相等呢? 先把Label复制扩展成: m,m 的 ...
- 算法金 | Transformer,一个神奇的算法模型!!
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 抱个拳,送个礼 在现代自然语言处理(NLP)领域,Transformer 模型的出现带 ...
- 网络化的控制系统简介(NCS)
作为一个搞物联网应用的,最近才接触到NCS这个概念.有点东西,赶紧记录一下. NCS由通过网络连通的控制环路组成,控制信号和反馈信号会在控制器和本地系统间交换.典型的方块图如下: 其中,本地(Plan ...
- FileZilia FATAL ERROR: Network error: Software caused connection abort
使用FileZilia sftp传文件,对象服务器突然关闭,导致FileZilia传输中断. 等待对象服务器打开后,使用FileZilia想继续传输文件,结果一直显示: FATAL ERROR: Ne ...
- Java核心基础之数据类型
Java内置数据类型 计算机基础知识 bit 位 ,即0或者1, 0101010110 byte字节,8位作为⼀个字节,字节是处理数据的基本单位 1 byte = 8bits 1KB = 1024 b ...
- yb课堂实战之播放记录表设计和模块开发 《十五》
play_record表设计 DROP TABLE IF EXISTS `play_record`; CREATE TABLE `play_record` ( `id` int(11) NOT NUL ...
- [oeasy]python0048_注释_comment_设置默认编码格式
注释Comment 回忆上次内容 使用了版本控制 git 制作备份 进行回滚 尝试了 嵌套的控制结构 层层 控制 不过 除非 到不得以 尽量不要 太多层次的嵌套 这样 从顶到底 含义 明确 ...
- CF1915B Not Quite Latin Square 题解
CF1915B 题意 给出一个 \(3\) 行 \(3\) 列的字符矩形,其中每行都有字符 ABC 各一个组成,现有一个字符未知,求出未知字符. 思路 就是说每个字符都应该出现 \(3\) 次,所以我 ...
- python的Faker使用
import json from faker import Faker from faker_demo.CustomFaker import CustomProvider myfaker = Fake ...
- 【Vue】el-select 数据过多替代方案
一.需求问题: 一开始就考虑使用简单el-select选取数据,但是后面数据量增多, 超过一千条开始,组件会很卡不好用,第二个是接口也慢了 数据量多的话是有一个filterable做支持了,可以输入关 ...