首页 > 编程语言 >[学习笔记]在不同项目中切换Node.js版本

[学习笔记]在不同项目中切换Node.js版本

时间:2024-08-22 19:53:05浏览次数:11  
标签:Node NODE 笔记 js 版本 HOME 环境变量

@

目录
在开发中,可能会遇到不同的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\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

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

标签:Node,NODE,笔记,js,版本,HOME,环境变量
From: https://www.cnblogs.com/jevonsflash/p/18374614

相关文章

  • 给自己复盘的tjxt笔记day5第二部分
    评论相关接口(练习)评论相关接口有四个:新增回答或评论分页查询回答或评论管理端分页查询回答或评论管理端隐藏或显示回答或评论新增回答或评论(练习)设计思路注意回复本身只有一个简单属性:回复内容一个功能属性:是否匿名一个关联属性:问题id:回......
  • 给自己复盘的随想录笔记-移除元素
    双指针法双指针法(快慢指针法): 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。定义快慢指针快指针:寻找新数组的元素,新数组就是不含有目标元素的数组慢指针:指向更新新数组下标的位置相关题目删除有序数组中的重复项解题思路:解法:双指针首先注意数组......
  • 给自己复盘用的随想录笔记day1-二分查找
    二分法使用情景数组为有序数组,同时题目还强调数组中无重复元素,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件,当大家看到题目描述满足如上条件的时候,可要想一想是不是可以用二分法了。求某一个整数的平方根边界条件写二分法......
  • xlsx-js-style前端组装表格数据下载到本地
    1.数据格式:对象:key/valueconstdata1={'合同主体信息':'{\n"合同编号":"FWTsAEY-S1T-2023-01",\n"项目编号":"FTCG2023000265A",\n"项目名称":"福田区第二人民医院食堂服务采购项直",\n"总计/价款&q......
  • RK3588开发笔记-pdm接口ES7201音频采集调试记录
    目录​​​​​​​前言一、ES7201技术规格二、PDM接口说明RK3588的PDM接口特性三、原理图连接四、内核配置五、音频调试总结前言        在RK3588开发过程中,音频采集是一个常见的需求,而PDM(PulseDensityModulation)接口因其简单性和低成本广泛应用......
  • nvidia系列教程-AGX-Orin pcie网卡I350调试笔记
    目录前言一、Intel-I350网卡二、原理图连接三、SDK配置四、内核配置五、网卡调试总结前言        NVIDIAJetsonAGXOrin是一款高度集成的嵌入式AI计算平台,广泛应用于自动驾驶、机器人和边缘计算等领域。在某些项目中,你可能需要通过PCIe扩展接口来......
  • 扩展:键盘录入笔记
    一,键盘录入涉及到的方法如下:next()、nextLine()、nextInt()、nextDouble()。1)next()、nextLine():可以接受任意数据,但是都会返回一个字符串。比如:键盘录入abc,那么会把abc看做字符串返回。键盘录入123,那么会把123看做字符串返回。代码示例:Scannersc=newScanner(System.in);Strings......
  • 创新实践:流媒体服务器如何推动WebRTC支持H.265及JS硬软解码(MSE硬解、WASM软解)
    为了实现这一全面的解决方案,我们投入了近半年的时间进行调研与研发。我们的主要目标是:让流媒体服务器能够直接传输H.265编码的视频,而无需将其转码为H.264,从而使Chrome浏览器能够无缝解码并播放H.265视频。值得注意的是,目前市场上许多软硬件产品仍采用将H.265转码为H.264的方式来......
  • diff.js+diff2html-ui.js 使用实例
    <!DOCTYPEhtml><htmllang="zh"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>文件差异对比</title>&......
  • nextjs 客户端图片 因跨域 strict-origin-when-cross-origin 无法展示
    使用next.config.js配置跨域规则Next.js提供了一个配置文件next.config.js,你可以在其中配置images选项,以允许跨域加载图片。在Next.js中,remotePatterns配置用于定义允许加载远程图像的域名及路径。不过,remotePatterns并不支持传统的正则表达式,而是使用类似正则表达式......