【nvm】如何使用nvm优雅的管理Node.js

news2024/11/25 5:25:59

希望文章能给到你启发和灵感~
如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏 支持一下博主吧~

阅读指南

  • 开篇说明
  • 一、基础环境说明
    • 1.1 硬件环境
    • 1.2 软件环境
  • 二、什么是nvm?
    • 2.1 概念
    • 2.1 安装
      • 2.1.1 对于Mac系统
      • 2.1.2 对于Windows系统
      • 2.1.3 对于linux系统
  • 三、nvm 基本使用介绍
    • 3.1 如何安装node.js
  • 四、最后

开篇说明

前后端开发中,经常接触vue相关开发的朋友一定有一个烦恼,就是我们通过vue-cli构建项目的时候,往往是基于Node.js的,而我们不同的项目,对Node.js的版本要求是有不同的,可我们日常只有一个全局配置的node,如果每个项目开发都去修改全局对应的配置,那就太繁琐了,所以我们来使用今天的Nvm来解决;

在这里插入图片描述

一、基础环境说明

考虑环境因素,大家适当的对比自己的软硬件环境情况分析~请仔细阅读硬件、软件环境

1.1 硬件环境

MacOS Monterey 版本 12.6.8 Apple M1

1.2 软件环境

开发工具:Node Version Manager 0.39.7

二、什么是nvm?

2.1 概念

nvm (Node Version Manager) 是一个用于在单个系统上安装和管理多个 Node.js 版本的工具。如果你主打Node.js 开发,并且经常需要在不同的项目之间切换 Node.js 版本,那么 nvm 会是一个非常有用的工具;

2.1 安装

安装之前,需要卸载自己已有的node.js!!!

2.1.1 对于Mac系统

【方式一】下载使用官网的脚本包到本地解压执行

下载地址:https://github.com/nvm-sh/nvm

在这里插入图片描述
这里只需要下载压缩包,解压在我们想要存放的路径;
在这里插入图片描述
然后进入该目录下,执行安装脚本

./install.sh

默认情况下,安装过程会为我们配置好环境变量;如何验证是否安装配置成功?

command -v nvm

如果正常输出信息,就代表成功,如果没有,就需要我们手动去设置一下环境;这里环境配置文件根据自己的mac版本而定【/.bashrc】【./profile】【~./zshrc】

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"

配置完成之后记得让环境变量的修改生效;

source ~./zshrc

再次验证结果;
在这里插入图片描述

【方式二】使用Homebrew安装

brew install nvm

【方式三】使用curl或者wget安装

curl安装

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

wget安装

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

2.1.2 对于Windows系统

下载地址:https://github.com/coreybutler/nvm-windows/releases

在这里插入图片描述
下载完成后,傻瓜式安装即可;
在这里插入图片描述

最后在dos命令下通过nvm -v 来验证安装结果即可;

2.1.3 对于linux系统

方法同MacOS,使用安装脚本进行安装就好啦;

三、nvm 基本使用介绍

3.1 如何安装node.js

【1】我们可以安装/卸载 指定版本的node.js

nvm install/uninstall version

【2】切换我们要使用node.js

nvm use version

【3】查看当前我们已经安装的所有版本node.js

nvm ls

在这里插入图片描述
【4】设置默认 Node.js 版本

nvm alias default version

例如:nvm alias default 14.21.3 会将默认的 Node.js 版本设置为 14.21.3。

四、最后

【1】很明显,NVM极大的节省了我们频繁的修改全局环境配置的时间和降低风险;
【2】我们可以很轻松的切换到自己想要的版本,下载和删除指定版本;

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

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

相关文章

完全离线的本地问答模型LocalGPT如何实现无公网IP远程连接提问

文章目录 前言环境准备1. localGPT部署2. 启动和使用3. 安装cpolar 内网穿透4. 创建公网地址5. 公网地址访问6. 固定公网地址 前言 本文主要介绍如何本地部署LocalGPT并实现远程访问,由于localGPT只能通过本地局域网IP地址端口号的形式访问,实现远程访问…

基于OrangePi AIpro + owncloud 5分钟搭建一个私有网盘

OrangePi AIpro自带镜像系统已预装了docker,这里我们直接基于docker安装owncloud。 准备 切换用户: HwHiAiUser 默认密码:Mind123 su HwHiAiUser 创建文件夹 sudo mkdir /home/SummerGao/owncloud-docker-server 切换至刚创建的文件夹下…

使用 Compose Multiplatform Media Player 实现跨平台媒体播放

使用 Compose Multiplatform Media Player 实现跨平台媒体播放 在跨平台开发中,媒体播放功能是一个常见且重要的需求。Compose Multiplatform Media Player 是一个专为 Compose Multiplatform 项目设计的强大媒体播放器库,它可以在 iOS 和 Android 平台上无缝实现视频播放、…

Prism 目录方式加载插件,提示`xxx.resources.dll`找不到

问题场景 前置条件 使用Prism 实现的目录配置方式加载插件; 有两个模块插件:ModuleA 以及 MouduleB。 问题现象 独立项目作为插件被加载时,加载指定模块中的用户控件,程序能正常运行,点击模块进行加载。 但输出窗…

cartographer从入门到精通(一):cartographer介绍

一、cartographer重要文档 有关cartographer的资料有2个比较重要的网站,我们的介绍也是基于这两个网站,其中会加入自己的一些理解,后续也有一些对代码的修改,来实现我们想完善的功能。 1-Cartographer 2-Cartographer ROS 第1个…

Python 面试【★★★★★】

欢迎莅临我的博客 💝💝💝,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

STM32第九课:DHT11温湿度传感器

文章目录 需求一、DHT11温湿度传感器二、模块配置流程1.配置时钟和IO2.读取数据3.数据处理 三、导入语音模块四、关键代码总结 需求 1.完成DHT11温湿度检测模块的配置。 2.处理DHT11获取的数据,在串口打印处理后的实时数据。 2.通过Su-03t语音识别模块实现实时温湿…

WLAN 4-Way Handshake如何生成GTK?

关于Wi-Fi的加密认证过程,可以参考如下链接,今天我们来理解如何生成GTK。 WLAN数据加密机制_tls加密wifi-CSDN博客 1 GTK GTK(Group Temporal Key)是由AP通过GMK生成,长度为128位,并在四次握手的第三步中…

哈尔滨高校大学智能制造实验室数字孪生可视化系统平台项目的验收

哈尔滨高校大学智能制造实验室数字孪生可视化系统平台项目的验收,标志着这一技术在教育领域的应用取得了新的突破。项目旨在开发一个数字孪生可视化系统平台,用于哈尔滨高校大学智能制造实验室的设备模拟、监测与数据分析。项目的主要目标包括&#xff1…

数据结构_线性表

线性表的定义和特点 线性表是具有相同特性的数据元素的一个有限序列 :线性起点/起始节点 :的直接前驱 :的直接后继 :线性终点/终端节点 n:元素总个数,表长 下标:是元素的序号,表示元素在表中的位置 n0时称为空表 线性表 由n(n>0)个数据元素(结点),组成的有限序列 将…

Quantlab5.0:一切围绕可实盘策略驱动开发

原创文章第573篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 2024年上半年即将结束,开始准备星球下半年的工作。 目前设想的——Quantlab5.0,之所以升级一个大版本,与4.x有很大不同。 5.0专注策略开发&…

负载均衡器有什么用?

负载均衡器有什么用? 负载均衡器是一种在多个服务器之间分配网络或应用程序流量的设备或软件应用程序。其主要目的是确保没有一台服务器承担过多的需求,从而提高应用程序的响应速度和可用性。 在计算机发展的早期,负载均衡是一个手动过程。…

【Sublime】Sublime Text 中运行终端

Sublime Text 本身并不是一个终端仿真器,可以使用插件来在 Sublime Text 中集成终端功能。最常用的插件之一是“Terminal”。 使用“Terminal”插件在 Sublime Text 中启动终端 以下是安装和使用该插件的步骤: 安装 Package Control: 如果你…

【自动驾驶汽车通讯协议】深入理解PCI Express(PCIe)技术

文章目录 0. 前言1. PCIe简介1.1 PCIe外观1.2 PCIe的技术迭代 2. PCIe的通道(lane)配置2.1 通道配置详解2.2 通道配置的影响 3. PCIe的架构3.1 架构层次3.2 核心组件 4. PCIe的特性5. PCIe在自动驾驶中的应用 0. 前言 按照国际惯例,首先声明&…

mybatis框架介绍 , 环境的搭建和代码实现

1.mybatis框架介绍 mybatis框架介绍 mybatis是Apache软件基金会下的一个开源项目,前身是iBatis框架。2010年这个项目由apache 软件基金会迁移到google code下,改名为mybatis。2013年11月又迁移到了github(GitHub 是一个面向开源及私有 软件项目的托管平…

40V 60V 80V 100V 400V高压LDO三端稳压器选择,技术参数

40V 60V 80V 100V 400V高压LDO三端稳压器选择,技术参数

基于yolo的物体识别坐标转换

一、模型简介: 1.1、小孔成像模型简图如下:不考虑实际相机中存在的场曲、畸变等问题 相对关系为: 为了表述与研究的方便,我们将像面至于小孔之前,且到小孔的距离仍然是焦距f,这样的模型与原来的小孔模型是等价的 相对关系为: 二、坐标系简介: **世界坐标系(world coo…

Qt中用QLabel创建状态灯

首先ui设计中分别创建了4个大灯和4个小灯。 编辑.h文件 #ifndef LED_H #define LED_H#include <QWidget> #include <QLabel>QT_BEGIN_NAMESPACE namespace Ui { class Led; } QT_END_NAMESPACEclass Led : public QWidget {Q_OBJECTpublic:Led(QWidget *parent n…

今天天气正好,开锐界L去追风

早就想开着它来个惬意的自驾游&#xff0c;结果因为工作原因一直在忙东忙西&#xff0c;锐界L这车都是上下班代步使用&#xff0c;今天终于空闲下来了&#xff0c;带着它来郊区转一圈&#xff0c;顺便交一篇极其不正式的游记吧&#xff0c;写的不好。 本来打算去的远一点&…

Nvidia Jetson/RK3588+AI双目立体相机,适合各种割草机器人、扫地机器人、AGV等应用

双目立体视觉是基于视差原理&#xff0c;依据成像设备从不同位置获取的被测物体的图像&#xff0c;匹配对应点的位置偏移&#xff0c;得到视差数据&#xff0c;进而计算物体的空间三维信息。为您带来高图像质量的双目立体相机&#xff0c;具有高分辨率、低功耗、远距离等优点&a…