[学习笔记]在不同项目中切换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参数可以查看所有分支列表,包括本地和远程 ...
随机推荐
- 在Markdown中使用base64存图片
author="CKboss" date="2022-4-19" title="在Markdown中使用base64存图片" +++ 在Ma ...
- Prometheus监控系统(一)Prometheus介绍
1. Prometheus简介 Prometheus受启发于Google的Brogmon监控系统(类似kubernetes是从Google的Brog系统演变而来).于2012年以开源形式发布,在201 ...
- 高通安卓:androidboot.mode参数控制系统流程原理
高通安卓:androidboot.mode参数控制系统流程原理 参考:https://blog.csdn.net/guofeizhi/article/details/106644773 背景 在做出厂 ...
- Linux设备模型:5、device和device driver
作者:wowo 发布于:2014-4-2 19:28 分类:统一设备模型 http://www.wowotech.net/device_model/device_and_driver.html 前言 ...
- ZYNQ:使用SDK打包BOOT.BIN、烧录BOOT.BIN到QSPI-FLASH
打包程序为BOOT.BIN 注意,做好备份是一个好习惯. Vivado Vivado 添加QSPI Flash的IP,重新编译: Launch SDK(推荐方法):或者用SDK指定一个workspac ...
- 统信 UOS 重置Root账号密码 获取 Root 权限
统信服务器默认无法用root 账号登入系统,用普通管理员登入后在切换至root账户下即可,初次使用系统时 切换至root账户前需要做很多配置 1.同信切换root账户首先要激活下系统,可以选择试用期激 ...
- 在Java中如何通过优化代码来节省内存
Java 程序的一个常见问题是高内存使用率,这会导致性能问题甚至崩溃.因此,需要使用内存节省技术来优化 Java 代码并减少内存使用非常重要. 选择正确的数据类型: 使用适当大小的数据类型可以避免不必 ...
- HTML5、CSS3 里面都新增了那些新特性?
HTML5 新的语义标签 article 独立的内容. aside 侧边栏. header 头部. nav 导航. section 文档中的节. footer 页脚. 画布(Canvas) API 地 ...
- yb课堂 注册-登陆-个人模块 《三十九》
Cube-UI的form表单 https://didi.github.io/cube-ui/#/zh-CN/docs/form 注册 Register.vue <template> < ...
- Cush:从辞职自学编程到被 Apple、PriceTag推荐
名字:Cush 开发者 / 团队:ShaSha 平台:iOS.macOS 请简要介绍下这款产品 也许你听过记账可以帮助省钱,但总是浅尝辄止? 快试试 Cush!它精简了记账中所有复杂繁琐的步骤,简单精 ...