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

news2024/9/24 3:27:28

文章目录

    • 使用 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 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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2078292.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

各个版本jdk新特性

jdk8新特性 方法引用:方法引用允许直接通过方法的名称来引用已经存在的方法,简化了函数式接口的实现。默认方法(Default Methods):默认方法允许在接口中定义具有默认实现的方法,以便接口的实现类可以继承该…

uniapp-Vue项目如何实现国际化,实现多语言切换,拒绝多套开发,一步到位,看这篇就够

一 安装 找到自己的项目,输入cmd进入命令行,输入安装命令,点击回车进行下载: npm install vue-i18nnext 下载完将在项目的配置文件中看到: 二 使用 2.1 在项目中创建一个文件夹如:lang 用于存放不同语言的包。这些语言文件通常为JSON格式 2.2 在项目main.js文件中引入并初…

YoloV8损失函数篇(代码加理论)

首先yolov8中loss的权重可以在ultralytics/cfg/default.yaml修改 损失函数定义ultralytics/utils/loss.py 回归分支的损失函数 DFL(Distribution Focal Loss),计算anchor point的中心点到左上角和右下角的偏移量IoU Loss,定位损失,采用CIoU…

开源网络安全大模型 - SecGPT

网络安全大模型是指使用大量数据和参数来训练的人工智能模型,它可以理解和生成与网络安全相关的内容,例如漏洞报告、利用代码、攻击场景等。 目前各家网络安全厂商也纷纷跟进在大模型方面的探索,但可供广大从业者研究的特有网络安全大模型…

2013-2023年 中国MOD17A3H植被净初级生产力(NPP)数据

中国MOD17A3H植被净初级生产力(NPP)数据是基于NASA的MODIS卫星遥感数据计算得出的,这些数据对于评估生态系统碳收支、碳循环以及气候变化的影响具有重要意义。NPP数据可以反映植被通过光合作用固定大气中二氧化碳并转化为有机物质的能力&…

OpenStack组件介绍(2)

cinder 提供块存储服务,管理openstack中的块存储资源,为云平台提供持久的块存储服务,通过驱动的方式可以接入不同种类的后端存储。 cinder对接nfs 关闭防火墙和selinux [rootlocalhost yum.repos.d]# systemctl stop firewalld [rootlocal…

对想学习人工智能或者大模型技术从业者的建议

“ 技术的价值在于应用,理论与实践相结合才能事半功倍” 写这个关于AI技术的公众号也有差不多五个月的时间了,最近一段时间基本上都在保持日更状态,而且写的大部分都是关于大模型技术理论和技术方面的东西。‍‍‍‍‍‍‍‍‍ 然后最近一段…

网络安全售前入门04——审计类产品了解

目录 1.前言 2.数据库审计介绍 2.1产品架构功能 2.2应用场景 2.3部署形式 2.4产品价值 2.5选型依据 1.前言 为方便初接触网络安全售前工作的小伙伴了解网安行业情况,我制作一系统售前入门(安全产品,安全服务,法律法规等)文章介绍,希望能给初进网安职场的小伙伴提供…

STL中的stack与queue

前言: stack与queue是STL中的容器适配器,而不是容器。何为适配器?给手机充电的充电器就是一种适配器,将高电压变成低电压。适配器是用来做转化的,不用来直接管理数据,而是在其他容器的基础上去封装转换。 …

WordNet介绍——一个英语词汇数据库

传统语义知识库最常见的更新方法是依赖人工手动更新,使用这种更新方法的语义知识库包括最早的 WordNet、FrameNet和 ILD,以及包含丰富内容的 ConceptNet和 DBPedia。此类语义知识库的特点是以单词作为语义知识库的基本构成元素,以及使用预先设…

C++ | Leetcode C++题解之第376题摆动序列

题目&#xff1a; 题解&#xff1a; class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();if (n < 2) {return n;}int prevdiff nums[1] - nums[0];int ret prevdiff ! 0 ? 2 : 1;for (int i 2; i < n; i) {int diff n…

记一次NULL与空字符串导致的分组后产生重复数据

目录 一&#xff0c;场景说明二&#xff0c;实现功能三&#xff0c;修改原实现方法四&#xff0c;说明 一&#xff0c;场景说明 想实现这样一个功能&#xff0c;统计人员信息中不同性别的人的总工资。 实现方式&#xff1a;将数据group by 分组后累加。 二&#xff0c;实现功…

叉车(工业车辆)安全管理系统,云端监管人车信息运营情况方案

近年来&#xff0c;国家和各地政府相继出台了多项政策法规&#xff0c;从政策层面推行叉车智慧监管&#xff0c;加大叉车安全监管力度。同时鼓励各地结合实际&#xff0c;积极探索智慧叉车建设&#xff0c;实现作业人员资格认证、车辆状态认证、安全操作提醒、行驶轨迹监控等&a…

探秘Facebook的人工智能战略:如何用智能技术重塑社交网络

人工智能&#xff08;AI&#xff09;正以前所未有的速度渗透到各个领域&#xff0c;社交网络也不例外。作为全球最大的社交平台之一&#xff0c;Facebook&#xff08;现Meta&#xff09;正利用人工智能技术重塑其网络环境&#xff0c;提升用户体验。本文将深入探讨Facebook的人…

对SpringBoot项目Jar包进行加密防止反编译

最近项目要求部署到其他公司的服务器上,但是又不想将源码泄露出去,要求对正式环境的启动包进行安全性处理,防止客户直接通过反编译工具将代码反编译出来,本文介绍了如何对SpringBoot项目Jar包进行加密防止反编译,需要的朋友可以参考下 场景: 最近项目要求部署到其他公司的服…

华为HCIP-datacom 真题 (2024年下半年最新题库)

备考HCIP-datacom的小伙伴注意啦 2024年下半年8月份最新题库带解析,有需要的小伙伴移动至文章末 1.BGP 邻居建立过程的状态存在以下几种&#xff1a;那么建立一个成功的连接所经历的状态机顺序是 A、3-1-2-5-4 B、1-3-5-2-4 C、3-5-1-2-4 D、3-1-5-2-4 答案&#xff1a;D 解析…

界面控件DevExpress VCL v24.2路线图预览——增强云集成、简化应用程序皮肤等

DevExpress VCL Controls是Devexpress公司旗下老牌的用户界面套包&#xff0c;所包含的控件有&#xff1a;数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验&#xff0c;提供高影响力的业务解决方案&#xff0c;并利用您现有的VCL技能为未来构建下一…

el-pagination 下拉条目数最后一个样式改成全部

2024.08.27今天我学习了如何把el-pagination的下拉条目数修改&#xff0c;效果如下&#xff1a; 我们需要把最后一条选择换成全部展示&#xff0c;其实传给后端的还是总的数量&#xff0c;只是换了一个content&#xff0c; 通过f12查看元素可以拿到.el-select-dropdown__item …

华为鸿蒙NEXT大揭秘:微信版功能曝光,简洁界面回归

在科技界&#xff0c;每一次操作系统的更新迭代都是一场期待与猜测的盛宴。华为的鸿蒙系统自问世以来&#xff0c;就以其独特的设计理念和强大的功能吸引了全球的目光。而今&#xff0c;随着微信版鸿蒙NEXT的曝光&#xff0c;我们似乎又将迎来一次科技的飞跃。但这一次&#xf…

【多系统萎缩患者必看!】营养补给站,守护健康每一刻✨

Hey小伙伴们~ 今天我们来聊聊一个需要特别关爱的话题——多系统萎缩&#xff08;MSA&#xff09;患者的营养补充秘籍&#xff01;&#x1f31f; MSA是一种复杂的神经系统疾病&#xff0c;它影响我们的多个身体系统&#xff0c;让每一天的生活都充满了挑战。但别担心&#xff0c…