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

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

阅读指南

  • 开篇说明
  • 一、基础环境说明
    • 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.mzph.cn/bicheng/37472.shtml

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

相关文章

贪心法思想-求最大子数组和案例图解

贪心法思想 ​ 基本思想是在问题的每个决策阶段,都选择当前看起来最优的选择,即贪心地做出局部最优的决策,以期获得全局最优解。 ​ 正如其名字一样,贪心法在解决问题的策略上目光短浅,只根据当前已有的信息做出选择…

AI绘画,5分钟用 stable diffusion 做装修图,室内设计师要失业了

大家好我是极客菌!随着AI绘画功能越来越强大,不光可以用来画人物,为电商模特一键换衣,还可以在5分钟内生成一张室内效果图,看来室内设计师饭碗也岌岌可危了。 1、获得室内线稿图 首先,打开3ds max &#…

LabVIEW航空用电缆检测

系统通过集成LabVIEW平台,实现了航空用电缆检测过程中的自动数据收集、处理和报告生成,显著提升了检测效率和数据准确性,降低了人工干预,提高了电缆检测的可靠性。 项目背景 在航空领域,电缆的质量检测对确保飞机及其…

c语言中extern定义和引用其他文件的变量,(sublime text)单独一个文件编译不会成功

关键字extern的作用 这个很常见的都知道是定义一个外部变量或函数,但并不是简单的建立两个文件,然后在用extern 定义在另一个非最初定义变量的文件里 区分文件和编译运行的文件 例如,一个文件夹里有文件a.c和文件b.c,在sublime text中直接…

深入解析链表:解锁数据结构核心奥秘

一. 链表的定义 链表是一种线性数据结构,由一系列节点组成。每个节点包含两个部分: 数据域(Data):存储节点的数据。指针域(Pointer):存储指向下一个节点的地址。 链表的第一个节点…

【Linux】Wmware Esxi磁盘扩容

目录 一、概述 1.1 磁盘分区概念 1.2 LVM概念 二、扩容步骤 二、报错 一、概述 1.1 磁盘分区概念 在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。Linux把各种 IDE 设备分配了一个由 hd 前缀组成的文…

论文辅导 | 基于贝叶斯优化-卷积神经网络-双向长短期记忆神经网络的锂电池健康状态评估

辅导文章 模型描述 准确估计电池健康状态是设备稳定运行的关键。针对当前健康状态研究中容量难以直接测量、估计模型调参费时等问题,提出基于多健康特征的贝叶斯优化(BO)算法优化卷积神经网络(CNN)与双向长短期记忆&a…

冯雷老师:618大退货事件分析

近日冯雷老师受邀为某头部电商36名高管进行培训,其中聊到了今年618退货潮的问题。以下内容整理自冯雷老师的部分授课内容。 一、引言 随着电子商务的蓬勃发展,每年的618大促已成为消费者和商家共同关注的焦点。然而,在销售额不断攀升的同时…

【详细教程】如何使用YOLOv10进行图片与视频的目标检测

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

datax入门(data-web的简单使用)——02

datax入门(data-web的简单使用)——02 1. 前言1.1 关于data-web官网1.1.1 源码下载1.1.2 datax-Web部署手册1.1.2.1 Linux环境部署手册1.1.2.2 本地开发环境部署手册 1.2 关于datax入门 2. 下载之后打包、启动、登录2.1 我的本地环境2.2 修改配置2.3 初始…

html纯原生网页引入vue3版本的quill editor

效果图 版本 vueup/vue-quill v1.2.0vue3.3.8Element Plus v2.4.2 引入流程 找一个vue3的项目, 然后安装插件vue版本的quill: vue-quill npm install vueup/vue-quill --save官方地址:https://vueup.github.io/vue-quill/ 安装完成之后,把vue-quil插件下…

解开孤独症谱系障碍:原因与症状的深度洞察

孤独症谱系障碍,这个日益受到关注的话题,让许多人感到困惑和担忧。那么,它究竟是由什么原因引起的,又有哪些表现症状呢? 引起孤独症谱系障碍的原因目前尚未完全明确,但研究表明,可能与以下因素有…

ROS2使用Python创建服务提供者、消费者

1.创建服务提供者 ros2 pkg create example_service_rclpy --build-type ament_python --dependencies rclpy example_interfaces --node-name service_server_02 service_server_02.py 代码 #!/usr/bin/env python3 import rclpy from rclpy.node import Node # 导入接口 …

量产工具一一显示系统(一)

目录 前言 一、项目介绍和应用 1.简单易用 2.软件可配置、易扩展 3.纯 C 语言编程 4.类似界面应用 二、项目总体框架 三、显示系统 1.显示系统数据结构抽象 (1)common.h (2)disp_manager.h 2.Framebuffer编程 &#x…

Unity数据持久化3——Json

概述 基础知识 Json文件格式 Json基本语法 练习 可以搜索:Json在线,复制代码进去解析是否写错了。 Excel转Json C#读取存储Json文件 JsonUtility using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine;[Sy…

AI周报(6.23-6.29)

AI应用-巴西医生成功用Vision Pro做手术 巴西外科医生布鲁诺戈巴托(Bruno Gobbato)在2024年4月22日首次成功使用Apple Vision Pro进行了肩袖撕裂的手术。这次手术采用了肩关节镜技术,通过关节内的摄像头捕捉图像,并通过高分辨率的…

基于Spring Boot的校园失物招领系统

1 项目介绍 1.1 研究的背景及意义 在网络时代飞速发展的今天,随着网络技术日臻完善,我们的生活方式正经历深刻变革。在物质追求日益增长的同时,提升个人精神境界也成为了现代人的共同向往,而阅读则是滋养心灵、丰富精神世界的重…

PyScript:在浏览器中释放Python的强大

PyScript:Python代码,直接在网页上运行。- 精选真开源,释放新价值。 概览 PyScript是一个创新的框架,它打破了传统编程环境的界限,允许开发者直接在浏览器中使用Python语言来创建丰富的网络应用。结合了HTML界面、Pyo…

WLAN 4-Way Handshake如何生成GTK?

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

使用Netty框架实现WebSocket服务端与客户端通信(附ssl)

仓库地址: https://gitee.com/lfw1024/netty-websocket 导入后可直接运行 预览页面 自签证书: #换成自己的本地ip keytool -genkey -alias server -keyalg RSA -validity 3650 -keystore D:\mystore.jks -ext sanip:192.168.3.7,ip:127.0.0.1,dns:lo…