MacBook 上如何正确安装 nvm 和 Node.js(新手必看)

适用人群:macOS 用户(Intel / M1 / M2 / M3 都适用)前端 / Node / 全栈 / Java 开发不想把环境搞乱的新手

如果你刚开始在 MacBook 上学习开发,Node.js 基本是必装的
但很多人一上来就踩坑,比如:

  • 用 Homebrew 装 Node,结果版本乱
  • 想切 Node 版本,却发现根本切不了
  • 全局包冲突,node -vnpm -v 对不上

👉 正确姿势只有一个:先装 nvm,再用 nvm 管理 Node。

这篇文章带你从 0 到 1,一次装对,不返工


一、先搞清楚:nvm 是什么?为什么一定要用?

1️⃣ Node.js 是什么?

  • Node.js 是一个 JavaScript 运行环境
  • 前端工程(Vue / React / Vite / Next.js)几乎都离不开它

2️⃣ nvm 是什么?

nvm = Node Version Manager(Node 版本管理工具)

它可以帮你:

  • 同时安装多个 Node 版本(14 / 16 / 18 / 20)
  • 不同项目用不同 Node
  • 随时切换,不破坏系统环境

👉 结论一句话:Mac 上千万不要只装一个裸 Node,一定要用 nvm。


二、macOS 安装 nvm(官方推荐方式)

⚠️ 注意:
不推荐用 Homebrew 安装 nvm
nvm 本质是 shell 脚本,Homebrew 反而容易把环境搞复杂。

✅ 正确方式:官方脚本安装

1️⃣ 打开终端(Terminal)

快捷键:

Command + 空格 → 输入 Terminal → 回车 

2️⃣ 执行安装命令

复制下面这行,直接粘贴回车:

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

等待执行完成。


3️⃣ 配置环境变量(非常重要)

macOS 默认使用 zsh,配置文件是 ~/.zshrc

执行:

nano ~/.zshrc 

确认里面有下面内容(没有就加上):

exportNVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh"]&&\. "$NVM_DIR/nvm.sh"[ -s "$NVM_DIR/bash_completion"]&&\. "$NVM_DIR/bash_completion"

保存并退出(Ctrl + O → 回车 → Ctrl + X

让配置立即生效:

source ~/.zshrc 

4️⃣ 验证 nvm 是否安装成功

nvm -v 

如果能看到版本号,例如:

0.39.7 

✅ 说明 nvm 安装成功


三、用 nvm 安装 Node.js(推荐版本)

1️⃣ 查看可安装的 Node 版本

nvm ls-remote 

你会看到很多版本,不用纠结。


2️⃣ 推荐安装哪个版本?

  • 新手 / 前端 / 后端通用:Node 18 或 20(LTS)
  • 示例:安装 Node 18
nvm install18

3️⃣ 使用该版本

nvm use 18

验证:

node -v npm -v 

看到正常版本号即可。


四、设置默认 Node 版本(强烈建议)

否则每次开新终端都要 nvm use

nvm alias default 18

以后:

  • 新开终端
  • Node 自动就是 18

五、每个项目使用不同 Node(进阶但很实用)

方式一:手动切换

nvm use 16

方式二(推荐):使用 .nvmrc

在项目根目录创建文件:

.nvmrc 

内容写:

18 

以后进入项目目录:

nvm use 

自动切版本。


六、常见错误和避坑指南(必看)

❌ 1️⃣ 不要同时用 Homebrew 装 Node

如果你之前执行过:

brew installnode

建议卸载:

brew uninstall node

否则会出现:

  • node -vwhich node 对不上
  • npm 全局包混乱

❌ 2️⃣ 不要把 nvm 写到多个配置文件

  • macOS 默认只用:~/.zshrc
  • 不要同时写 .bashrc.bash_profile

❌ 3️⃣ 终端里提示 nvm: command not found

说明:

  • .zshrc 没加载
  • 或者没 source ~/.zshrc

七、总结(直接记住这几条)

✅ MacBook 安装 Node 的正确流程是:

  1. 官方脚本安装 nvm
  2. nvm 安装 Node
  3. 设置默认 Node 版本
  4. 不用 Homebrew 装 Node
一次配置好,以后几年都不用折腾。

Read more

Flutter 组件 serverpod_swagger 的适配 鸿蒙Harmony 实战 - 驾驭 API 文档自动化、实现鸿蒙端全栈联调与 Swagger UI 动态审计方案

Flutter 组件 serverpod_swagger 的适配 鸿蒙Harmony 实战 - 驾驭 API 文档自动化、实现鸿蒙端全栈联调与 Swagger UI 动态审计方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 serverpod_swagger 的适配 鸿蒙Harmony 实战 - 驾驭 API 文档自动化、实现鸿蒙端全栈联调与 Swagger UI 动态审计方案 前言 在鸿蒙(OpenHarmony)的大型项目研发中,前端(鸿蒙应用)与后端(Dart Server)的沟通效率,往往直接决定了产品的上线节奏。传统的“手动维护 API 文档”模式,不仅耗时耗力,更由于文档与代码的脱节,导致了大量“因为 API 字段改动而引发的 Crash”。 我们需要一种“代码即文档”的高阶自动化生产力。 serverpod_swagger 是 Serverpod

By Ne0inhk
鸿蒙电商购物全栈项目——数据安全与合规

鸿蒙电商购物全栈项目——数据安全与合规

《鸿蒙APP开发从入门到精通》第39篇:鸿蒙电商购物全栈项目——数据安全与合规 🛡️📝📊 内容承接与核心价值 这是《鸿蒙APP开发从入门到精通》的第39篇——数据安全与合规篇,100%承接第38篇的数据分析与商业洞察场景,并基于电商购物场景的数据安全与合规要求,设计并实现鸿蒙电商购物全栈项目的数据安全与合规功能。 学习目标: * 掌握鸿蒙应用数据安全的核心设计与实现; * 实现数据加密、数据脱敏、数据备份; * 理解数据合规的战略设计与实现; * 实现GDPR合规、用户数据权益保护、数据审计; * 掌握数据安全与合规的协同管理策略; * 优化电商购物项目的数据安全与合规水平。 学习重点: * 鸿蒙应用数据安全的全流程设计原则; * 数据合规的战略规划与技术落地; * 数据安全与合规的协同管理策略。 一、 数据安全基础 🛡️ 1.1 数据安全定义 数据安全是指保护电商购物项目中的数据安全,主要包括以下方面: * 数据加密:加密数据; * 数据脱敏:脱敏数据; * 数据备份:备份数据。 1.2 数据安全架构 数据安全采用分层架构,

By Ne0inhk
HarmonyOS 5.0 PC应用开发实战:构建跨设备协同的桌面生产力工具

HarmonyOS 5.0 PC应用开发实战:构建跨设备协同的桌面生产力工具

文章目录 * 每日一句正能量 * 前言 * 一、HarmonyOS PC应用开发背景与机遇 * 1.1 生态发展现状 * 1.2 技术架构特点 * 二、实战项目:跨设备Markdown编辑器 * 2.1 项目需求分析 * 2.2 技术选型 * 三、核心代码实现 * 3.1 工程架构搭建 * 3.2 PC端响应式布局 * 3.3 分布式数据同步实现 * 3.4 PC端多窗口管理 * 3.5 键盘快捷键系统 * 四、跨设备协同场景实战 * 4.1 手机拍照插入PC文档 * 4.2 平板手绘同步到PC * 五、性能优化与最佳实践 * 5.1

By Ne0inhk