当前位置: 首页 > news >正文

[学习笔记]在不同项目中切换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\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

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

http://www.lryc.cn/news/429632.html

相关文章:

  • SOL项目开发代币DApp的基本要求、模式创建与海外宣发策略
  • 如何在 FastReport .NET 中构建和安装 Postgres 插件
  • JVM指令重排序
  • 改造字典关键字:
  • Neo4j 图数据库入门
  • linux 磁盘满了,程序运行失败,如何处理?df -h
  • Python编码系列—前端后浪:Python前后端分离开发实战指南
  • Docker学习之路【五】了解数据卷
  • matlab如何设置产生的随机数一致
  • ansible --------拓展
  • gazebo下使用Fast-planner配置(包含mpc局部规划+控制Gazebo小车以及FastPlanner配置)
  • Python核心编程--Python要点总结
  • 【mysql】mysql配置文件之优先级学习
  • 自然语言处理(NLP)大模型
  • 融合创新趋势:Web3时代的跨界融合
  • 面临新时代的机遇与挑战,联想凌拓将如何破局?
  • 2024.8.21
  • 在Ubuntu16.04里安装ROS Kinetic
  • 后端开发刷题 | 合并两个排序的链表
  • JAVA_7
  • 最大连续1的个数 III(LeetCode)
  • Vue之前端批量下载文件并以压缩包形式存储
  • 【AI学习】LLaMA模型的微调成本有几何?
  • 【专题】2024全数驱动 致胜未来-数字化敏捷银行白皮书报告合集PDF分享(附原数据表)
  • 280Hz显示器哪家强
  • ROUTE_STATUS
  • v4l2(video4linux2) yuyv(yuv422)、MJPEG、H.264
  • .Net插件开发开源框架
  • 基于Spark实现大数据量的Node2Vec
  • [VMware]VMware-Esxi 6.7 厚置备转为精简置备