[学习笔记]在不同项目中切换Node.js版本
文章目录
- 使用 Node Version Manager (NVM)
- 安装 NVM
- 使用 NVM 安装和切换 Node.js 版本
- 为项目指定 Node.js 版本
- 使用环境变量指定 Node.js
- 安装多个版本的 Node.js
- 设置环境变量
- 验证配置
- 使用 npm 脚本切换
在开发中,可能会遇到不同的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 16nvm 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 Version Manager (NVM)安装 NVM使用 NVM 安装和切换 Node.js 版本为项目指定 Node.js 版本 使用环境变量指定 Node.js安装多个版本的 Node.js设置环境变量验证配置使用 npm 脚本切换 在开发中,可能会遇到不同的Vue项目需要不同的Node.js…...
SOL项目开发代币DApp的基本要求、模式创建与海外宣发策略
Solana(SOL)作为一个高性能区块链平台,以其快速的交易速度和低交易成本吸引了大量开发者和投资者。基于Solana开发的去中心化应用程序(DApp)和代币项目正逐步成为区块链领域的重要组成部分。要成功开发并推广一个SOL项…...
如何在 FastReport .NET 中构建和安装 Postgres 插件
FastReport .NET 是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案。 功能非常丰富,功能广泛。今天我们将介绍如何使用报表设计器的 FastReport 插件连接数据库。 FastReport .NET 是适用于.NET Core 3,ASP.NET,MVC和Windows窗体…...
JVM指令重排序
文章目录 什么是指令重排序编译器优化JIT 编译优化处理器优化重排序数据依赖性 硬件层的内存屏障指令重排的代码验证好处减少管道阻塞提高缓存利用率利用并行执行单元性能提升更好地利用硬件资源 问题内存可见性问题编程复杂性增加调试困难 解决方案:Java内存模型&a…...
改造字典关键字:
怎样把第一个关键字的值都 加到所有关键字上? {type: 7, typenum: , typemon: } 我们可以使用字典的keys()方法来获取所有的关键字,然后通过遍历字典的方式将第一个关键字的值添加到其他关键字的名称上。以下是一个示例代码: data {type: …...
Neo4j 图数据库入门
图形数据库存储节点和关系,而不是表或文档。数据的存储方式就像你在白板上勾画想法一样。您的数据存储不受预定义模型的限制,允许以非常灵活的方式考虑和使用它。 一、核心概念:属性图形模型 Neo4j使用属性图数据库模型。图数据结构由节点(离…...
linux 磁盘满了,程序运行失败,如何处理?df -h
场景:紧急呼救,上传图片失败了。我一脸懵,服务器这是又咋地了,别邪乎姐姐,姐姐胆子小啊。 一、寻找问题原因 1、OSS出问题了? 然后我尝试了 IOS 的APP是没问题的,Android提示上传失败…...
Python编码系列—前端后浪:Python前后端分离开发实战指南
🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…...
Docker学习之路【五】了解数据卷
定义与特性 Docker数据卷是一个特殊目录,,用于实现容器间数据的持久化和共享。数据卷存在于宿主机上,可以被一个或多个容器使用。它独立于容器的生命周期,意味着即使容器被删除,数据卷中的数据也会保留。数据卷的主要…...
matlab如何设置产生的随机数一致
在MATLAB中,确保产生的随机数序列一致,通常需要使用随机数生成器的种子(seed)。通过设置相同的种子值,可以确保在每次运行代码时,随机数生成器从相同的初始状态开始,从而生成相同的随机数序列。…...
ansible --------拓展
编辑 hosts 配置文件 [rootmo ~]# vim /etc/ansible/hosts # 创建目录 [rootmo ~]# mkdir /etc/ansible/playbook # 编辑配置文件 [rootmo ~]# vim /etc/ansible/playbook/nginx.yml # 执行测试 [rootmo ~]# ansible-playbook /etc/ansible/playbook/nginx.yml roles 修…...
gazebo下使用Fast-planner配置(包含mpc局部规划+控制Gazebo小车以及FastPlanner配置)
源码链接: https://github.com/USE-jx/NMPC_CASADI_CPP?tabreadme-ov-file #这是NMPC的 里面有Fast-Planner,但编译可能缺少东西,所以再放一个Fast-Planner的,可以装装缺少的库 https://github.com/HKUST-Aerial-Robotics/Fast-P…...
Python核心编程--Python要点总结
Python 核心编程包括了一些关键的要点,理解这些要点对于掌握 Python 至关重要。以下是 Python 核心编程的一些要点: 1. 数据类型与数据结构 基本数据类型: int, float, str, bool容器类型: list, tuple, set, dict不可变类型与可变类型: tuple 是不可变…...
【mysql】mysql配置文件之优先级学习
本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…...
自然语言处理(NLP)大模型
自然语言处理(NLP)大模型 自然语言处理(NLP)领域中的一种重要技术,具有强大的语言理解和生成能力。以下是对NLP大模型的详细介绍: 一、定义与背景 NLP大模型是指通过大规模预训练和自监督学习技术构建的…...
融合创新趋势:Web3时代的跨界融合
随着互联网技术的飞速发展,Web3时代的到来正引领着一场深刻的技术与社会变革。Web3,作为下一代互联网技术的代表,不仅仅是一种技术创新,更是一种跨界融合的趋势。通过去中心化、智能合约和区块链技术的应用,Web3正在重…...
面临新时代的机遇与挑战,联想凌拓将如何破局?
近年来,IT行业的技术进步日新月异,云计算、大数据、人工智能……各种新兴技术犹如雨后春笋般层出不穷,并且正在给千行百业带来全面的变革甚至重塑。 然而以上提到的所有新兴技术,都离不开数据的存储与管理。那么作为中国乃至全球领…...
2024.8.21
作业: 运行1个服务器和2个客户端 实现效果: 服务器和2个客户端互相聊天,服务器和客户端都需要使用select模型去实现 服务器要监视2个客户端是否连接,2个客户端是否发来消息以及服务器自己的标准输入流 客户端要监视服务器是否发来…...
在Ubuntu16.04里安装ROS Kinetic
1.设置apt的source list sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu$(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list 2.设置gpd keys sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365…...
后端开发刷题 | 合并两个排序的链表
描述 输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。 数据范围: 0≤n≤1000,−1000≤节点值≤1000 如输入{1,3,5},{2,4,6}时,合并后的链表为{1,2,3,4,5,6},…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...
