MacOS 上安装和管理 Node.js

在 macOS 上安装和管理 Node.js,使用 Node Version Manager (NVM) 是一种简便且高效的方法。NVM 允许您轻松地安装、切换和管理不同版本的 Node.js。本指南将带您一步步完成这一过程。

步骤 1:安装 Node Version Manager (NVM)

首先,我们需要安装 NVM。打开终端并执行以下命令来下载并安装 NVM

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

这个命令会下载并运行一个安装脚本,将 NVM 安装到您的系统中。

步骤 2:配置 NVM 使其在终端中生效

为了确保每次打开终端时 NVM 都能正常使用,我们需要配置终端的启动脚本。以下是详细步骤:

2.1 修改配置文件

使用以下命令打开您的配置文件(根据您使用的 shell 不同,可以是 ~/.bash_profile~/.bashrc~/.zshrc):

vi ~/.bash_profile
2.2 添加 NVM 初始化脚本

在打开的文件末尾添加以下内容:

export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

这段脚本会在每次打开终端时自动加载 NVM。

2.3 使配置生效

保存并关闭文件,然后运行以下命令使配置立即生效:

source ~/.bash_profile

步骤 3:验证 NVM 安装

要验证 NVM 是否成功安装并配置正确,运行以下命令:

nvm --version

如果安装成功,您会看到 NVM 的版本号输出。

步骤 4:安装最新的 LTS 版本的 Node.js

现在,您可以使用 NVM 安装最新的长期支持版本(LTS)的 Node.js。运行以下命令:

nvm install --lts

这将会下载并安装最新的 LTS 版本。

步骤 5:切换到最新的 LTS 版本

安装完成后,使用以下命令切换到刚刚安装的 LTS 版本:

nvm use --lts

步骤 6:设置默认的 Node.js 版本

为了确保每次打开终端时都使用最新的 LTS 版本,可以将其设置为默认版本:

nvm alias default lts/*

步骤 7:验证 Node.js 版本

最后,验证 Node.js 是否成功安装并切换到最新的 LTS 版本,运行以下命令:

node -v

如果一切正常,您会看到最新的 LTS 版本的 Node.js 版本号输出。

总结

通过上述步骤,您已经成功在 macOS 上安装并配置了 NVM,并使用它来管理 Node.js 的不同版本。这不仅使得 Node.js 版本的切换和管理更加方便,也确保了您在开发不同项目时可以轻松地使用适合的 Node.js 版本。希望这篇指南对您有所帮助!

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

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

相关文章

电巢科技CIOE中国光博会:激光雷达技术应用研讨会圆满落幕!

2024年6月20日,由CIOE中国光博会与电巢科技联合主办的“激光雷达技术应用”线上研讨会成功举行。本次线上研讨会是CIOE中国光博会与电巢科技首次联合主办的论坛,旨在借助双方自身资源优势,为行业发展提供可靠的交流平台。接下来,C…

Android焦点机制结合WMS

文章前提: 了解WMS基本作用了解window的概念,phoneWindow,rootViewImpl了解view的事件分发 开始: 讲三件事情: window的创建,更新焦点的更新事件的分发 Window的创建,更新: wi…

基于 Redis 实现秒杀资格判断,提升并发性能

在互联网电商平台上,秒杀活动往往会吸引大量用户同时抢购,如何高效地处理高并发请求,保证用户体验,是一个重要的技术挑战。本文将介绍如何基于 Redis 实现秒杀资格的判断,提高并发性能。 基本思路 秒杀活动的核心流程…

AI 编程还有前景嘛?

自从各个大厂相继出品 AI 编程助手之后,AI 在编程领域的发展,可谓是几无寸进。 相比于 AI 在多模态领域火热,AI 在编程领域的热度已经完全下来了。 阿七在公众号搜索了关键词「AI编程」,发现搜索出来的公众号寥寥无几&#xff0…

LLM生成模型在生物蛋白质应用:ESM3

参考: https://github.com/evolutionaryscale/esm 通过GPT模型原理,输入蛋白质序列等模态输出预测的蛋白质序列及结构 使用 参考:https://colab.research.google.com/github/evolutionaryscale/esm/blob/main/examples/generate.ipynb#sc…

(六)使用统计学方法进行变量有效性测试(43道选择题)

本文整理了使用统计学方法进行变量有效性测试相关的练习题,共43道,适用于想巩固理论基础的同学。来源:如荷学数据科学题库(CDA二级-第7章)。 1) 2) 3) 4) 5)…

【无人机三维路径规划】基于树木生长算法TGA实现复杂城市地形下无人机避障三维航迹规划附Matlab代码

% 定义无人机起始位置和目标位置 start_point [0, 0, 0]; % 起始位置 [x, y, z] target_point [100, 100, 100]; % 目标位置 [x, y, z] % 定义城市地形和障碍物信息 city_map imread(‘city_map.png’); % 城市地形图像 obstacles [ 20, 30, 10; % 障碍物1位置 [x, y, z] …

三分之一的违规行为未被发现

Gigamon 调查显示,随着漏洞的针对性越来越强、越来越复杂,企业在检测漏洞方面也面临越来越大的困难,超过三分之一的企业表示,现有的安全工具无法在漏洞发生时检测到它们。 随着混合云环境变得越来越复杂,以及恶意行为…

Java 语言特定指南

Java 语言特定指南 本 Java 入门指南将教您如何使用 Docker 创建一个容器化的 Spring Boot 应用程序。在本模块中,您将学习如何: 使用 Maven 容器化并运行一个 Spring Boot 应用程序设置本地开发环境以将数据库连接到容器、配置调试器,并使…

筛斗数据:引领未来,以技术创新推动在线推广新纪元

在数字化浪潮的推动下,企业在线推广已成为市场拓展的关键手段。然而,在海量信息中精准定位目标用户,有效提升转化率,却是一大挑战。筛斗数据,作为一家专注于数据提取与分析的技术公司,正以其独特的技术优势…

云计算基础知识

前言: 随着ICT技术的高速发展,企业架构对计算、存储、网络资源的需求更高,急需一种新的架构来承载业务,以获得持续,高速,高效的发展,云计算应运而生。 云计算背景 信息大爆炸时代&#xff1a…

Linux 标准IO的fopen和fclose

getchar(),putchar() ‐‐‐‐ 一个字符 gets(buf),puts(buf) ‐‐‐‐ 一串字符 scanf(),printf() ‐‐‐‐ 一个字符,一串字符都可以 fopen函数的形式 FILE * fopen(constchar *path , cost char *mode) /* * description : 打开一个文件 * param ‐ path…

进阶篇07——InnoDB引擎介绍

概览 逻辑存储结构 架构 当执行增删改查操作时,操作的是缓冲区的数据,如果缓冲区里没有要操作的数据,就会从磁盘中读取数据加载到缓冲区中;缓冲区的数据会以一定的频率通过后台线程刷新到磁盘中永久存储。 内存结构 磁盘结构 后…

数据结构(Java):顺序表集合类ArrayList

1、线性表 线性表,在逻辑结构上是连续的(可理解为连续的一条直线,一对一的关系),而在物理结构上不一定连续,通常以数组和链式结构进行存储。 线性表是一种在实际中广泛使用的数据结构,常见的线…

Vue介绍与入门(一篇入门)

Vue.js 是一个流行的 JavaScript 框架,专门用于构建用户界面和单页面应用程序。它简单易学,但功能强大,能够帮助开发者快速构建交互性强的 Web 应用。 本教程旨在帮助那些刚开始学习 Vue.js 的开发者快速入门,并掌握一些基础知识…

【UE5.1 角色练习】12-坐骑——Part2(让角色骑上坐骑)

目录 前言 效果 步骤 一、坐骑的父类 二、将角色附加到坐骑 三、添加坐姿 四、骑上坐骑 五、从坐骑上下来 前言 在上一篇(【UE5.1 角色练习】11-坐骑——Part1(控制大象移动))基础上继续实现角色骑上坐骑的功能。 效果 …

语言的数据结构:树与二叉树(二叉树篇)

语言的数据结构:树与二叉树(二叉树篇) 前言概念特别的二叉树满二叉树完全二叉树 存储结构顺序存储链式存储 查找方式 前言 上文说到了树,有人认为二叉树是树的每一个分支都有两个子节点。其实这也对。但二叉树在此基础上还做了限…

RS422串口通信协议介绍和基础代码实现

**RS-422串口协议介绍**RS-422是一种工业标准的通信接口,其全称是“平衡电压数字接口电路的电气特性”。它是在RS-232的基础上发展而来,旨在解决RS-232通信距离短和速率低的缺点。以下是对RS-422串口协议的详细介绍:传输速率与距离&#xff1…

MyCAT 2 简单入门

MyCAT 2 基础 什么是 MyCAT 2? MyCAT 2 是一款开源的数据库中间件,它主要用于解决数据库的分库分表、读写分离等问题。MyCAT 2 基于 MyCAT 1 的架构进行优化和重构,具有更高的性能和稳定性,支持多种数据库类型,包括 …

【QCustomPlot实战系列】QCPGraph区域高亮

使用QCPDataSelection来设置选中的区域&#xff0c;并将QCPGraph的可选择区域设置成QCP::stMultipleDataRanges void AreaPieces::initCustomPlot(QCustomPlot *parentPlot) {QVector<double> x {0, 1, 2, 3, 4, 5, 6, 7, 8};QVector<double> y {200, 560, 750…