Mac 系统下安装 nvm

Mac 系统下安装 nvm

nvm 全称为 node version manger,顾名思义就是管理 node 版本的一个工具,通过这个工具,我们可以在一台计算机上安装多个版本的 node,并且随时进行无缝的切换。

1. 卸载原本的 node.js(重要)

https://blog.csdn.net/huangpb123/article/details/120248002

2. 下载安装 nvm

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

可以直接下载压缩包,解压后将整个文件夹命名为 .nvm,在 Mac 要查看隐藏文件,可以通过 Shift + command + .

放入根目录($HOME)下

之后看你的终端是什么,比如现在 mac 推荐的终端工具是 zsh,我们输入 vi ~/.zshrc 打开 zsh 终端的配置文件,添加如下的代码来对 nvm 进行配置。

输入 vi ~/.zshrc 命令之后,会打开 zsh 终端的配置文件,输入 i 进入 insert 编辑模式,我们可以进行编辑操作,编辑完成之后先按 ESC 推出编辑模式,然后输入 :wq 保存刚才的编辑并退出

这里的配置主要包含两个方面,一个是 nvm 路径的配置,另一个是镜像的配置

如果你使用的是 bash 终端,那么对应的就是执行 vi ~/.bashrc 打开 bash 终端的配置文件,添加如下的配置代码

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # 加载 nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # 加载 nvm 自动补全
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/ # 修改镜像
export NVM_IOJS_ORG_MIRROR=https://npmmirror.com/mirrors/iojs/

配置完成后,通过命令 source ~/.zshrc 来使刚才的配置文件生效。

同样,如果你使用的是 bash 终端,那么应该输入 source ~/.bashrc 来使刚才的配置生效

3. nvm 常用命令

# 查看当前安装和使用的 node 版本
nvm list# 安装某个 node 版本
nvm install 版本号# 切换 node 版本
nvm use 版本号# 设置默认版本
nvm alias default v12.22.12

4. 配置 npm 源

安装 node 之后,一般对应的 npm 也会被安装好,但是默认 npm 的源是指向 npm 官网的,这就导致我们在下载包的时候会很慢。

我们需要修改 npm 的源

npm config set registry=https://registry.npmmirror.com
npm config get registry

如何查找自己安装的node

1、在根文件下找到 .nvm (.nvm文件默认是隐藏的, shift + command + . 键可显示)
2、nvm中有 version
3、version 下有 node
4、node 下有你安装的各个版本号。

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

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

相关文章

变量筛选—随机森林特征重要性

对于接触算法模型不久的小伙伴来说,建模中海量变量筛选总是让人头疼,不知道如何把握。之前已经介绍了一些变量筛选的方法:变量筛选一张图、【变量筛选】计算类别型变量IV值、KS值、一文囊括风控建模中的变量筛选方法、变量筛选—特征包含信息量。本文详细介绍通过随机森林算…

【设计模式】 3.设计模式基本原则

单一职责原则 对于一个类而言,有且仅有一个引起他变化的原因或者说,一个类只负责一个职责 如果一个类承担的职责过多,那么这些职责放在一起耦合度太高了,一个职责的变化可能会影响这个类其他职责的能力。 所以我们在做软件设计的时…

ABP VNext + Redis Bloom Filter:大规模缓存穿透防护与请求去重

ABP VNext Redis Bloom Filter:大规模缓存穿透防护与请求去重 🚀 📚 目录ABP VNext Redis Bloom Filter:大规模缓存穿透防护与请求去重 🚀TL;DR ✨1. 引言 🎉2. 环境与依赖 🛠️3. Bloom Filt…

构建工具和脚手架:从源码到dist

构建工具和脚手架:从源码到dist**1. 为什么需要工程转换?****2. 构建工具的核心职责**为什么要求转换**1)明确三种关键问题****(2)Webpack 的打包机制****3. 开发服务器(Webpack Dev Server)***…

数字化生产管理系统设计

下面提供一个基于Python的数字化管理系统框架,使用现代技术栈实现。这个系统将包含设备监控、故障管理、装配配套表生成、生产计划管理等功能。系统架构数字化生产管理系统 ├── 设备监控模块 ├── 故障管理模块 ├── 产品装配管理模块 ├── 生产计划管理模…

【vue】创建响应式数据ref和reactive的区别

目录 1、所谓响应式数据 2、ref创建基本类型响应式数据 3、reactive创建对象类型响应式数据 4、ref定义对象类型响应式数据 5、总结:ref和reactive对比 6、补充:toRefs与toRef 1、所谓响应式数据 所谓响应式数据就是,在vue页面中&#…

YOLO12 改进、魔改|直方图 Transformerm模块HTB ,通过动态范围特征分组、针对性注意力与多尺度融合,提高对遮挡以及多尺度目标的关注能力

在恶劣天气(如雨、雪、雾)下的图像恢复任务中,传统 Transformer 模型为降低计算量,常将自注意力限制在固定空间范围或仅在通道维度操作,导致难以捕捉长距离空间特征,尤其无法有效处理天气退化像素&#xff…

涉水救援机器人cad【12张】三维图+设计书明说

涉水救援机器人设计 摘 要 随着城市化进度的加快,各种水上游乐设备的增多,水上灾害和溺水事件频繁发生,水上救援任务困难重重,特别是在一些水流湍急的环境下进行救援。传统的水上救援工作比较缓慢,大多数是通过投射救…

电子病历:现代HIS系统不可或缺的核心组成部分

一、电子病历在 HIS 系统中扮演了一个什么角色?电子病历在医院信息系统(HIS)中扮演着核心、基础且不可替代的角色,可以说是整个HIS系统的临床信息中枢和业务驱动引擎。它的重要性体现在以下几个方面:1、临床诊疗活动的核心载体&a…

【深度学习】通俗易懂的基础知识:指数加权平均

一、什么是指数加权平均? 指数在数学中表示一个数的幂次运算(如aⁿ中的n),而在统计学中特指随时间变化的几何衰减系数,加权指对不同数据赋予不同权重,使重要数据对结果产生更大影响。指数加权平均指是一种时…

c++-list

C-list std::list是C标准模板库(STL)提供的双向链表容器&#xff0c;它提供了高效的插入和删除操作&#xff0c;特别适合频繁修改的序列。定义在 <list> 头文件中&#xff0c;属于 std 命名空间。该类的接口与常规容器接口基本一致。 模板原型&#xff1a; template <…

【笔试真题】2024秋招京东后端开发岗位-第一批笔试

31.牛牛与切割机 有一个序列 a1,a2,...,ana_1,a_2,...,a_na1​,a2​,...,an​ &#xff0c; 牛牛将对这个序列切割一刀&#xff08;划分分成两个不相交的非空序列&#xff0c;一个序列为 a1,...,apa_1,...,a_pa1​,...,ap​&#xff0c;另一个序列为 ap1,...,ana_{p1},...,a_na…

【整数转罗马数字】

思路计算数字的位数&#xff1a; 通过 while(x) 循环计算输入数字 num 的位数 n。提取各位数字&#xff1a; 将数字 num 的每一位分解并存储到 nums 数组中&#xff0c;顺序为从高位到低位。罗马数字映射&#xff1a; 使用固定数组 Roman 存储罗马数字符号&#xff1a;Roman {…

spring Scheduled注解详解

spirng Scheduled注解详解 用于标记需要安排执行的方法的注解。必须指定 cron、fixedDelay 或 fixedRate 中的恰好一个属性。 被标注的方法必须不接受任何参数。它通常会具有 void 类型的返回值&#xff1b;如果不是这样&#xff0c;那么在通过调度器调用该方法时&#xff0c;返…

新升级超值型系列32位单片机MM32G0005

灵动微推出的新型MM32G0005系列基于ArmCortex - M0内核&#xff0c;具备高可靠性、低功耗、高性价比等特性。Flash升级至64KB&#xff0c;SRAM为4KB&#xff0c;还有1KB Data Flash。Flash全温擦写次数超过10万次。采用24Pin封装&#xff0c;最多有22个IO。QFN20和TSSOP20封装与…

Spark SQL 的详细介绍

Spark SQL 是 Apache Spark 生态系统中用于处理结构化数据的模块&#xff0c;它将 SQL 查询与 Spark 的分布式计算能力相结合&#xff0c;提供了一种高效、灵活的方式来处理结构化和半结构化数据。以下是对 Spark SQL 的详细介绍&#xff1a;1. 核心定位与优势结构化数据处理&a…

【FreeRTOS】空闲任务与钩子函数原理、实现与功能详解

一、FreeRTOS空闲任务概述FreeRTOS中的空闲任务(Idle Task)是系统自动创建的一个特殊任务&#xff0c;具有最低优先级(优先级0)。当没有其他更高优先级的任务运行时&#xff0c;调度器就会运行空闲任务。空闲任务的主要功能系统资源回收&#xff1a;自动清理被删除任务的内存和…

imx6ull-驱动开发篇6——Linux 设备树语法

目录 前言 设备树 设备树概念 DTS、 DTB 和 DTC DTS 语法 .dtsi 头文件 设备节点 /根节点​​ 节点命名与标签 节点层次结构​ 属性数据类型​ 标准属性 compatible 属性 model 属性 status 属性 #address-cells 和#size-cells 属性 reg 属性 ranges 属性 n…

ansible简单playbook剧本例子2

1. 准备主机组[rootansible-master ansible_quickstart]# vim inventory/hosts[web:vars] ansible_port22 ansible_passwordAdmin123456[web] 192.168.100.1822.准备剧本 vim hello.yml--- - hosts: webremote_user: roottasks:- name: Ping the target hostsping:- name: 获取…

EmpService 和 EmpMapper接口的作用

在这个项目中&#xff0c;EmpService 和 EmpMapper 都定义接口&#xff0c;是基于面向接口编程&#xff08;Interface Oriented Programming&#xff0c;IOP&#xff09;的设计思想&#xff0c;这两种接口在项目中承担着不同的职责&#xff0c;具体说明如下&#xff1a; EmpSer…