【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】我们可以很轻松的切换到自己想要的版本,下载和删除指定版本;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AWS云中的VPC启用流日志保存S3(AWS中国云)

问题 需要在AWS中国云中对VPC启用流日志操作。 步骤 创建s3桶 这里设置一个s3桶名,创建即可。如果出现已存在具有相同名称的存储桶错误,就换个桶名再试一试吧。 启用vpc流日志 找到vpc流日志入口操作,如下图: 设置vpc流日志…

Redis的使用和原理

目录 1.初识Redis 1.1 Redis是什么? 1.2 Redis的特性 1.2.1 速度快 1.2.2 基于键值对的数据结构服务器 1.2.3 丰富的功能 1.2.4 简单稳定 1.2.5 持久化 1.2.6 主从复制 1.2.7 高可用和分布式 1.3 Redis的使用场景 1.3.1 缓存 1.3.2 排行榜系统 1.3.3 计数器应用 1.3…

制定班规要注意哪些事项

对于如何管理班级,制定班规是一项至关重要的任务。关系到班级的日常秩序,影响着学生的集体荣誉感。制定班规并非易事,需要深思熟虑和周全考虑。 班规的制定应以学生为中心。深入了解学生的需求和期望,以及他们在学习和生活中可能遇…

Docker基础知识的掌握,相关基本命令的用法

安装docker步骤:https://b11et3un53m.feishu.cn/wiki/Rfocw7ctXij2RBkShcucLZbrn2d 1.docker Docker 是一种容器化平台,用于帮助开发者打包、发布和管理应用程序及其依赖关系。通过 Docker,开发者可以将应用程序及其所有依赖项打包到一个称为…

亿发微商城:从社交流量到生意增量,拓客+变现双收益

亿发微商城提供私域经营必备的系统 、服务和技术支持等全套解决方案。省去开发成本,还原品牌调性,打通社交渠道,经营私域会员,带来传统电商和线下门店之外的生意增量。

43.SO_BACKLOG

属于ServerSocketChannel参数 SO_BACKLOG 设置的过小,高峰期有很多连接来了,就会被拒绝,报拒绝连接错误。 控制全连接队列的大小,可以容下适量连接。所以SO_BACKLOG设置的要大一些。 serverBootstrap.option(ChannelOption.SO_B…

面试-javaIO机制

1.BIO BIO:是传统的javaIO以及部分java.net下部分接口和类。例如,socket,http等,因为网络通信同样是IO行为。传统IO基于字节流和字符流进行操作。提供了我们最熟悉的IO功能,譬如基于字节流的InputStream 和OutputStream.基于字符流…

Vue--》从零开始打造交互体验一流的电商平台(四)完结篇

今天开始使用 vue3 + ts 搭建一个电商项目平台,因为文章会将项目的每处代码的书写都会讲解到,所以本项目会分成好几篇文章进行讲解,我会在最后一篇文章中会将项目代码开源到我的github上,大家可以自行去进行下载运行,希望本文章对有帮助的朋友们能多多关注本专栏,学习更多…

Webpack: 底层配置逻辑

概述 Webpack 5 提供了非常强大、灵活的模块打包功能,配合其成熟生态下数量庞大的插件、Loader 资源,已经能够满足大多数前端项目的工程化需求,但代价则是日益复杂、晦涩的使用方法,开发者通常需要根据项目环境、资源类型、编译目…

在运行中遇到扫描包问题

问题描述:当我们看到这个上面一行代码时就代表我们有个包没有被当前的Spring容器给扫描到,关于这个问题我们有两个:第一把整个包导进来,第二用哪个导哪个

人脑网络的多层建模与分析

摘要 了解人类大脑的结构及其与功能的关系,对于各种应用至关重要,包括但不限于预防、处理和治疗脑部疾病(如阿尔茨海默病或帕金森病),以及精神疾病(如精神分裂症)的新方法。结构和功能神经影像学方面的最新进展,以及计算机科学等…

Qt开发笔记:Qt3D三维开发笔记(一):Qt3D三维开发基础概念介绍

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/140059315 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、O…

AI绘画:P图如此丝滑,OpenAI上线ChatGPT图像编辑功能,DallE-3绘画如此简单

大家好我是极客菌,用ChatGPT的DallE-3进行AI绘画对很多人来说是一个门槛很低的选择,现在OpenAI又重磅上线了图像编辑器功能(DallE editor),可以很方便的对图片的局部进行修改,而且支持中文,主打一个功能强大且好用&…

Django —— 用户名和密码配置

创建项目ProjectA: django-admin startproject ProjectA cd进入ProjectA文件夹运行项目: python manage.py runserver 0.0.0.0:8000 Starting development server at http://0.0.0.0:8000/Quit the server with CTRL-BREAK. 访问http://localhost:80…

SET加密:电子商务安全的基石

随着电子商务的飞速发展,如何确保在线交易的安全性和可信度已成为消费者、商家和金融机构共同关注的焦点。SET协议(Secure Electronic Transaction)作为一种安全电子交易的国际标准,凭借其卓越的安全性能和广泛的行业认可&#xf…

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

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

重庆高校大学智能制造实验室数字孪生可视化系统平台建设项目验收

随着科技的飞速发展,智能制造已成为推动产业升级和经济社会发展的重要力量。在这一背景下,重庆高校大学智能制造实验室积极推进数字孪生可视化系统平台建设项目,旨在通过先进的数字化技术,实现实验室资源的优化配置和高效利用。 …

java虚拟机栈帧操作

虚拟机栈(Virtual Machine Stack)是虚拟机(如JVM、Python VM等)用来管理方法调用和执行的栈结构。它主要用于存储方法调用的相关信息,包括局部变量、操作数栈、动态链接和方法返回地址等。 java虚拟机栈操作的基本元素就是栈帧,栈帧主要包含了局部变量表、操作数栈、动态…

数字签名解析

1. 概述 数字签名不是手写签名的数字图像; 数字签名是一种可以提供认证的加密形式,是转向完全无纸环境的一个途径; 数字签名机制用以解决伪造、抵赖、冒充和篡改、完整性保护等安全问题。 2. 公钥密码与数字签名的关系 要实现数字签名&#…

【04】从0到1构建AI生成思维导图应用 -- 创建 AI 工作流

【04】从0到1构建AI生成思维导图应用 – 创建 AI 工作流 大家好!最近自己做了一个完全免费的AI生成思维导图的网站,支持下载,编辑和对接微信公众号,可以在这里体验:https://lt2mind.zeabur.app/ 上一章:h…