一个用于管理多个 Node.js 版本的安装和切换开源工具

大家好,今天给大家分享一个用于管理多个Node.js版本的工具 NVM(Node Version Manager),它允许开发者在同一台机器上安装和使用不同版本的Node.js,解决了版本兼容性问题,为开发者提供了极大的便利。

在开发环境中,特别是在处理多个项目时,每个项目可能依赖于不同版本的 Node.js,NVM 提供了一个简单有效的方式来处理这种情况,无需重新安装整个系统环境。

项目介绍

  • 功能:NVM的主要功能是允许用户在同一台机器上安装和切换多个版本的Node.js,支持版本管理和切换,避免了版本冲突,确保每个项目都可以使用其所需的Node.js版本。

  • 用途:NVM主要用于简化Node.js版本管理,使得开发者可以为不同的项目选择合适的Node.js版本,无需全局更改,提高了开发效率和项目的兼容性。

安装使用

下载安装

1. MacOS 和 Linux

安装 nvm: 你可以通过 Shell 脚本来安装 nvm。打开终端,然后运行下面的命令:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

或者使用 wget:

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

这里使用的是 nvm 的最新稳定版本 v0.39.7,如果你希望安装特定版本,可以修改 URL 中的版本号。

加载 nvm: 安装完成后,你需要重启终端或运行以下命令来加载 nvm:

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

或者在你的 shell 配置文件(如 .bashrc, .zshrc 等)中加入上面的命令,以便每次打开终端时自动加载 nvm。

2. Windows

下载 nvm-windows: 访问 GitHub 发布页面,下载最新版本的 nvm-windows。

安装 nvm-windows: 运行下载的安装程序,按照提示进行安装。在安装过程中,你可以选择 nvm 的安装路径和 node 的安装路径。

环境变量: 安装完成后,你可能需要将 nvm 的 bin 目录添加到你的系统 PATH 环境变量中。这通常在安装过程中会被自动添加,但如果未被添加,你需要手动进行。

验证安装: 打开一个新的命令提示符窗口,输入 nvm 命令,如果正确安装,你应该能看到 nvm 的帮助信息。

使用示例

1.列出可安装的 Node.js 版本

nvm ls-remote

这将列出所有可安装的 Node.js 版本。

2.安装特定版本的 Node.js

假设你想安装 Node.js 的 16.14.2 版本,你可以运行:

nvm install 16.14.2

3.设置默认版本

如果你想让这个版本成为你的默认版本,可以运行:

nvm alias default 16.14.2

4.切换 Node.js 版本

当你需要使用另一个版本时,可以使用 nvm use 命令来切换:

nvm use 14.19.0

5.查看已安装的 Node.js 版本

nvm ls

这将列出所有你已经安装的 Node.js 版本。

6.删除已安装的 Node.js 版本

如果不再需要某个版本,可以使用 nvm uninstall 命令来删除:

nvm uninstall 14.19.0

7.在项目中使用特定版本

在项目目录中,你可以使用 .nvmrc 文件来指定项目需要的 Node.js 版本。创建一个 .nvmrc 文件并在其中写入版本号,例如:

touch .nvmrc
echo "16.14.2" > .nvmrc

当你在这个目录下运行任何命令时,nvm 会自动切换到指定的版本。

8.清除缓存

如果你遇到问题,可以尝试清除 nvm 的缓存:

nvm cache clear

项目地址

https://github.com/nvm-sh/nvm

一个用于管理多个 Node.js 版本的安装和切换开源工具 - BTool博客 - 在线工具软件,为开发者提供方便

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

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

相关文章

微信小程序基本语法

官网 https://developers.weixin.qq.com/miniprogram/dev/framework/ 视频教程:尚硅谷微信小程序开发教程,2024最新微信小程序项目实战! 仿慕尚花坊项目源码:https://gitee.com/abcdfdewrw/flower-workshop 目录 一,初…

基于Ubuntu2310搭建openstack高可用集群B版

openstack-ha 环境初始化安装haproxy安装keepalived数据库集群高可用rabbitmq集群高可用memcache集群配置 keystone高可用glance高可用placement高可用nova高可用neutron高可用horizon高可用 本实验使用两台节点master和node配置haproxy高可用,keepliaved配置主备抢…

Qt中https的使用,报错TLS initialization failed和不能打开ssl.lib问题解决

前言 在现代应用程序中,安全地传输数据变得越来越重要。Qt提供了一套完整的网络API来支持HTTP和HTTPS通信。然而,在实际开发过程中,开发者可能会遇到SSL相关的错误,例如“TLS initialization failed”,cantt open ssl…

RK3399基础部分

1.RK3399介绍 基础特性: 高达1.8GHz的双核Cortex-A72 四核Cortex-A53高达1.4GHz NPU高达3.0TOPS Mali-T860MP4 GPU 双通道DDR3/DDR3L/LPDDR3/LPDDR4 4K超高清H265/H264/VP9 HDR10/HLG H264编码器 双MIPI CSI和ISP USB Type-CGPU: 图形处理器(英语&…

【Linux】权限的管理和Linux上的一些工具

文章目录 权限管理chgrpchownumaskfile指令sudo指令 目录权限粘滞位Linux中的工具1.软件包管理器yum2.rzsz Linux开发工具vim 总结 权限管理 chgrp 功能:修改文件或目录的所属组 格式:chgrp [参数] 用户组名 文件名 常用选项:-R 递归修改文…

WEB前端03-CSS3基础

CSS3基础 1.CSS基本概念 CSS是Cascading Style Sheets(层叠样式表)的缩写,它是一种对Web文档添加样式的简单机制,是一种表现HTML或XML等文件外观样式的计算机语言,是一种网页排版和布局设计的技术。 CSS的特点 纯C…

RocketMQ实现分布式事务

RocketMQ的分布式事务消息功能,在普通消息基础上,支持二阶段的提交。将二阶段提交和本地事务绑定,实现全局提交结果的一致性。 1、生产者将消息发送至RocketMQ服务端。 2、RocketMQ服务端将消息持久化成功之后,向生产者返回Ack确…

星环科技推出语料开发工具TCS,重塑语料管理与应用新纪元

5月30-31日,2024向星力未来数据技术峰会期间,星环科技推出一款创新的语料开发工具——星环语料开发工具TCS(Transwarp Corpus Studio),旨在通过全面的语料生命周期管理,极大提升语料开发效率,助…

25_Vision Transformer原理详解

1.1 简介 Vision Transformer (ViT) 是一种将Transformer架构从自然语言处理(NLP)领域扩展到计算机视觉(CV)领域的革命性模型,由Google的研究人员在2020年提出。ViT的核心在于证明了Transformer架构不仅在处理序列数据(如文本)方面非常有效&…

算法 —— 高精度(模拟)

目录 加法高精度 两个正整数相加 两个正小数相加 两正数相加 减法高精度 两个正整数相减 两个正小数相减 两正数相减 加减法总结 乘法高精度 两个正整数相乘 两个正小数相乘 乘法总结 加法高精度 题目来源洛谷:P1601 AB Problem(高精&#x…

老物件线上3D回忆展拓宽了艺术作品的展示空间和时间-深圳华锐视点

在数字技术的浪潮下,3D线上画展为艺术家们开启了一个全新的展示与销售平台。这一创新形式不仅拓宽了艺术作品的展示空间,还为广大观众带来了前所未有的观赏体验。 3D线上画展制作以其独特的互动性,让艺术不再是单一的视觉享受。在这里&#x…

220V降5V芯片输出电压电流封装选型WT

220V降5V芯片输出电压电流封装选型WT 220V降5V恒压推荐:非隔离芯片选型及其应用方案 在考虑220V转低压应用方案时,以下非隔离芯片型号及其封装形式提供了不同的电压电流输出能力: 1. WT5101A(SOT23-3封装)适用于将2…

勒索防御第一关 亚信安全AE防毒墙全面升级 勒索检出率提升150%

亚信安全信舷AE高性能防毒墙完成能力升级,全面完善勒索边界“全生命周期”防御体系,筑造边界勒索防御第一关! 勒索之殇,银狐当先 当前勒索病毒卷携着AI技术,融合“数字化”的运营模式,形成了肆虐全球的网…

SpringBoot使用RedisTemplate、StringRedisTemplate操作Redis

前言 RedisTemplate 是 Spring Boot 访问 Redis 的核心组件,底层通过 RedisConnectionFactory 对多种 Redis 驱动进行集成,上层通过 XXXOperations 提供丰富的 API ,并结合 Spring4 基于泛型的 bean 注入,极大的提供了便利&#x…

【自学安全防御】二、防火墙NAT智能选路综合实验

任务要求: (衔接上一个实验所以从第七点开始,但与上一个实验关系不大) 7,办公区设备可以通过电信链路和移动链路上网(多对多的NAT,并且需要保留一个公网IP不能用来转换) 8,分公司设备可以通过总…

网络安全防御【防火墙安全策略用户认证综合实验】

目录 一、实验拓扑图 二、实验要求 三、实验思路 四、实验步骤 1、打开ensp防火墙的web服务(带内管理的工作模式) 2、在FW1的web网页中网络相关配置 3、交换机LSW6(总公司)的相关配置: 4、路由器相关接口配置&a…

connect by prior 递归查询

connect by prior 以公司组织架构举例,共四个层级,总公司,分公司,中心支公司,支公司 总公司level_code为1 下一层级的parent_id为上一层级的id,建立关联关系 SELECT id, name, LEVEL FROM org_info a STA…

海事无人机解决方案

海事巡察 海事巡察现状 巡查效率低下,存在视野盲区,耗时长,人力成本高。 海事的职能 统一管理水上交通安全和防治船舶污染。 管理通航秩序、通航环境。负责水域的划定和监督管理,维护水 上交通秩序;核定船舶靠泊安…

使用自制Qt工具配合mitmproxy进行网络调试

在软件开发和网络调试过程中,抓包工具是不可或缺的。传统的抓包工具如Fiddler或Charles Proxy通常需要设置系统代理,这会抓到其他应用程序的网络连接,需要设置繁琐的过滤,导致不必要的干扰。为了解决这个问题,我们可以…

linux中关于环境变量的常用的设置方法

一. linux中设置环境变量的方式 1.使用/etc/environment, 是一个全局的环境变量设置文件,它会影响到所有用户和所有进程。当你需要设置一个全局的环境变量时,应该使用这个文件。这个文件的格式是 KEYvalue,每行一个环境变量。 2. 使用/etc/…