window系统如何管理多版本node

何时需要切换node版本

  • 如果你正在维护一个旧项目,同时也在进行新项目,两个项目所依赖的node版本害不同,那么你可以就需要经常切换node版本。
  • 项目中可能依赖于某些npm包,而这些包对特定版本的Node有要求。需要满足这些要求以确保依赖包正常运行。
  • 在迁移项目或进行大版本升级时,可能需要切换到新版本的Node,以确保项目的顺利迁移和更新。

我用的window系统,所以本文就以window为例

nvm

Node Version Manager(nvm)是一个常用的工具,用于在同一台计算机上管理和切换不同版本的Node.js。以下是nvm的使用手册,包括安装、切换版本、安装npm包等常见任务。

1. 安装nvm

在Windows上使用官方nvm-windows版本。
和安装软件一样直接下一步就好了。
使用nvm -v就可以看到安装的本版就说明已经安装成功了(现在好像不需要手动配置环境变量了,如如果确实已经安装了,但这个命令出错,可能需要配置一下环境变量)

在这里插入图片描述

2. 安装Node.js版本

现在,可以使用nvm来安装不同版本的Node.js。以下是示例命令:

  • 查看可下载的版本
nvm list available

在这里插入图片描述

  • 安装最新稳定版Node.js:
nvm install node
  • 安装特定版本的Node.js,例如14.17.4:
nvm install 14.17.4
4. 切换Node.js版本

你可以使用以下命令来切换Node.js版本:

  • 查看已下载的版本
nvm list

在这里插入图片描述

  • 使用已安装的Node.js版本:
nvm use 版本号
  • 设定默认的Node.js版本(全局默认版本):
nvm alias default 版本号

在这里插入图片描述

volta

Volta 是一个用于管理 JavaScript 和 TypeScript 工具链的工具,它提供了更简单、可预测和一致的开发体验。
Volta 相对于 NVM 的优势在于全工具链管理、项目版本锁定、一致性和可预测性,以及对全局工具链的管理。这使得 Volta 特别适用于需要确保工具版本一致性的场景,尤其是在多项目开发中,以减少不同项目之间的不兼容性和问题。 NVM 更加灵活,广泛支持多个操作系统和 Shell,适合那些需要自由切换 Node.js 版本的开发者。选择哪个工具取决于你的需求和个人偏好。

volta的使用

安装 Volta

使用之前都需要先安装。可以在Volta的官方网站上找到适用于不同操作系统的安装指南。安装完成后,你可以在终端中运行volta --version来验证安装是否成功。
在这里插入图片描述

在这里插入图片描述

安装 Node.js 和工具

一旦安装了Volta,你可以使用它来管理Node.js版本和相关的工具。

  1. 安装Node.js:运行以下命令来安装特定版本的Node.js。

    volta install node@版本号
    

    例如,要安装Node.js 14,你可以运行:

    volta install node@14
    

或者不加版本号,就会安装最新版本

volta install node
  1. 安装全局工具:你可以使用Volta来安装全局Node.js工具,如npm、yarn等。

    volta install npm@版本号
    
设置项目的Node.js版本

对于特定的项目,你可以设置所需的Node.js版本。

  1. 进入项目目录。

  2. 运行以下命令来设置项目的Node.js版本。

    volta pin node@版本号
    

    例如:

    volta pin node@14
    

    这将锁定项目使用的Node.js版本。

查看项目的Node.js版本

使用以下命令来查看项目的Node.js版本:

volta which node
单个项目安装

在package.json文件里面加上需要的版本,然后使用volta install 下载即可

在这里插入图片描述

其他常用命令

除了上述命令,还有其他一些Volta的常用命令:

fetch          向本地机器获取工具
install        下载工具
uninstall      卸载工具
pin            固定项目的运行时或包管理器
list           显示当前已下载的工具列表
which          定位volta安装工具的位置
setup          初始化和设置 Volta 环境,确保 Volta 正常运行
completions    Generates Volta completions

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

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

相关文章

隐式类型转换

什么是隐式类型转换,多参数的造函数隐式类型转换,和单参数的构造函数隐式类型转换有什么区别 C中有三种主要的隐式类型转换: 1:多参数的构造函数隐式类型转换 2:单参数的构造函数隐式类型转换 3:成员函数隐式类型转换。…

EasyCVR视频汇聚平台显示有视频流但无法播放是什么原因?该如何解决?

视频汇聚/视频云存储/集中存储/视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等,视频智能分析平台EasyCVR融合性强、开放度…

【试题032】C语言关系运算符例题

1.题目:设int a2,b4,c5;,则表达式ab!c>b>a的值为? 2.代码分析: //设int a2,b4,c5;,则表达式ab!c>b>a的值为?int a 2, b 4, c 5;printf("%d\n", (a b ! c > b > a));//分析&#xff…

element ui 中 el-button重新渲染后disabled属性失效

调试发现:disabled绑定的值和显示没有保持一致&#xff0c;发现是disabled属性失效 解决方式&#xff1a; 给标签添加key 比如&#xff1a;key“isOldVersion” <el-form-item><el-button type"primary" style"margin-left: 100px;" click"…

N-128基于springboot,vue酒店管理系统

开发工具&#xff1a;IDEA 服务器&#xff1a;Tomcat9.0&#xff0c; jdk1.8 项目构建&#xff1a;maven 数据库&#xff1a;mysql5.7 系统分前后台&#xff0c;项目采用前后端分离 前端技术&#xff1a;vueelementUI 服务端技术&#xff1a;springbootmybatis 本系统功…

HarmonyOS 音视频开发概述

在音视频开发指导中&#xff0c;将介绍各种涉及音频、视频播放或录制功能场景的开发方式&#xff0c;指导开发者如何使用系统提供的音视频 API 实现对应功能。比如使用 TonePlayer 实现简单的提示音&#xff0c;当设备接收到新消息时&#xff0c;会发出短促的“滴滴”声&#x…

零基础新手也能会的H5邀请函制作教程

随着科技的的发展&#xff0c;H5邀请函已经成为了各种活动、婚礼、会议等场合的常见邀约方式。它们不仅可以提供动态、互动的体验&#xff0c;还能让邀请内容更加丰富多彩。下面&#xff0c;我们将通过乔拓云平台&#xff0c;带领大家一步步完成H5邀请函的制作。 1. 选择可靠的…

Leetcode 21 合并两个有序链表 (链表)

Leetcode 21 合并两个有序链表 &#xff08;链表&#xff09; 解法1 复杂的第一版本&#xff08;优化大于和等于合并见方法二&#xff09;解法2 注意注意&#xff1a;先添加元素toadd.next list1&#xff0c;添加之后才可以移动指针toadd toadd.next 解法1 复杂的第一版本&a…

【Java 进阶篇】深入了解 Bootstrap 按钮和图标

按钮和图标在网页设计中扮演着重要的角色&#xff0c;它们是用户与网站或应用程序交互的关键元素之一。Bootstrap 是一个流行的前端框架&#xff0c;提供了丰富的按钮样式和图标库&#xff0c;使开发者能够轻松创建吸引人的界面。在本文中&#xff0c;我们将深入探讨 Bootstrap…

【Python生活脚本】视频转Gif动图

忘记过去&#xff0c;超越自己 ❤️ 博客主页 单片机菜鸟哥&#xff0c;一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-10-20 ❤️❤️ 本篇更新记录 2023-10-20 ❤️&#x1f389; 欢迎关注 &#x1f50e;点赞 &#x1f44d;收藏 ⭐️留言&#x1f4dd;&#x1f64…

pytorch nn.Embedding 读取gensim训练好的词/字向量(有例子)

最近在跑深度学习模型&#xff0c;发现Embedding随机性太强导致模型结果有出入&#xff0c;因此考虑固定初始随机向量&#xff0c;既提前训练好词/字向量&#xff0c;不多说上代码&#xff01;&#xff01; 1、利用gensim训练字向量&#xff08;词向量自行修改&#xff09; #…

谷歌云:下一代开发者和企业解决方案的强力竞争者

自从2018年Oracle前研发总裁Thomas Kurian加入谷歌云&#xff08;Google Cloud&#xff09;并出任谷歌云CEO以来&#xff0c;业界对于谷歌云的发展就十分好奇。而谷歌云的前任CEO Diane Greene曾是VMware的创始人之一&#xff0c;那么两任企业级技术和解决方案出身的CEO&#x…

windows上下载github上的linux内核项目遇到的问题

问题一&#xff1a;clone的时候报错 Cloning into G:\github\linux... POST git-upload-pack (gzip 27925 to 14032 bytes) remote: Counting objects: 6012062, done. remote: Compressing objects: 100% (1031/1031), done. remote: Total 6012062 (delta 893), reused 342 (…

计算机缺失d3dcompiler_47.dll解决方案,如何修复电脑缺失d3d文件

在计算机系统中&#xff0c;DLL文件&#xff08;动态链接库&#xff09;是一种重要的共享库&#xff0c;它包含了可被多个程序使用的代码和数据。然而&#xff0c;当某些DLL文件丢失或损坏时&#xff0c;可能会导致程序无法正常运行。本文将介绍四种解决D3DCompiler_47.dll缺失…

QT学习day4

作业&#xff1a;做一个闹钟 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//给定时器指针实例化一个对象timer new QTimer(this);//给语音播报者实例化一个…

总结一下vue中v-bind的常见用法

文章目录 &#x1f415;前言&#xff1a;&#x1f3e8;简述一下v-bind命令其它写法 &#x1f415;前言&#xff1a; 本篇博客主要总结一下v-bind命令在vue中的常见用法 &#x1f3e8;简述一下v-bind命令 v-bind命令是将动态的数据属性与咱们的标签进行一个绑定,它可以绑定标…

【Unity3D编辑器拓展】Unity3D的IMGUI、GUI、GUILayout、EditorGUI、EditorGUILayout、OnGUI【全面总结】

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 在开发中&#xff0c;常常会遇到要使用OnGUI的地方。 也会遇到…

基础课2——自然语言处理

1.概念 自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;是计算机科学领域与人工智能领域中的一个重要方向&#xff0c;它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。 自然语言处理的主要研究方向包括&#xff1a; 语言学研究&…

我们不一样①

我们不一样① 从hello world开始 别人的hello world​​ 我们的hello world 代码展示 #include <stdio.h> int main(){printf("\033[31mhello world\033[0m"); getchar();return 0; } 此处用了 ANSI转义序列 ANSI转义序列是一种带内信号的转义序列标准&am…

【electron】实战技巧(持续更新,不要错过喔)

▒ 目录 ▒ &#x1f6eb; 导读需求开发环境 1️⃣ nvm处理多node环境避免node版本切换指定32位/64位 2️⃣ 常用node库npm-run-all&#xff08;脚本运行工具&#xff09;cross-env&#xff08;配置环境变量&#xff09;dotenv&#xff08;配置文件&#xff09;minimist&#x…