Node.js 安装指南(Mac 版本)

Node.js 安装指南(Mac 版本)

目录

第一章 准备工作与环境检查

1.1 确认系统要求在开始安装 Node.js 之前,首先需要确认您的 Mac 系统是否符合要求:

1.2 检查现有 Node.js 安装

1.3 备份重要数据

1.4 清理可能的旧版本

第二章:安装方法概述与选择

2.1 主要安装方法比较

2.2 推荐安装方案

第三章:方法一 - 使用官方安装包

3.1 下载官方安装包

3.2 安装过程详解

3.3 验证安装

安装过程中遇到问题:

🧐 为什么会出现这个错误?

✅ 如何解决?

方案一:使用 Homebrew 降级安装(推荐,便于管理)

安装指定版本的Node.js

方案二:从官方网站手动下载安装

💡 补充说明


第一章 准备工作与环境检查

1.1 确认系统要求
在开始安装 Node.js 之前,首先需要确认您的 Mac 系统是否符合要求:

系统版本要求:

macOS 10.10 (Yosemite) 或更高版本

推荐使用 macOS 10.15 (Catalina) 或更新版本

同时支持 Intel 和 Apple Silicon (M1/M2) 芯片

检查您的 macOS 版本:

点击屏幕左上角的 Apple 菜单,选择"关于本机",查看显示的版本信息。

通过终端检查:

sw_vers

输出示例:

ProductName: macOS ProductVersion: 12.6.1 BuildVersion: 21G217
1.2 检查现有 Node.js 安装

在安装新版本之前,检查系统是否已安装 Node.js:

# 检查 Node.js 版本 node --version # 检查 npm 版本 npm --version # 检查 Node.js 安装路径 which node # 检查所有相关的 Node.js 可执行文件 whereis node

如果系统返回版本信息,说明已有 Node.js 安装。您需要决定是保留现有版本、升级还是完全重新安装。

1.3 备份重要数据

如果您已经在开发 Node.js 项目,建议备份:

项目文件:复制整个项目目录到安全位置

全局 npm 包:列出并记录已安装的全局包

npm list -g --depth=0

  npm 配置:备份 npm 配置文件

cp ~/.npmrc ~/.npmrc.backup
1.4 清理可能的旧版本

如果之前通过其他方式安装过 Node.js,建议先清理:

检查并移除通过 Homebrew 安装的 Node.js:

brew uninstall node brew cleanup

检查并移除通过 pkg 安装的 Node.js:

sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}

第二章:安装方法概述与选择

2.1 主要安装方法比较

方法一:官方安装包

优点:官方提供,稳定性高,适合新手

缺点:版本切换不够灵活

方法二:Homebrew

优点:包管理器统一管理,更新方便

缺点:可能不是最新版本

方法三:Node Version Manager (nvm)

优点:多版本管理,灵活切换

缺点:学习曲线稍陡

方法四:从源码编译

优点:完全控制编译选项

缺点:耗时,适合高级用户

2.2 推荐安装方案

新手用户:推荐使用官方安装包
普通开发者:推荐使用 nvm
高级用户:可根据需求选择 Homebrew 或源码编译

第三章:方法一 - 使用官方安装包

3.1 下载官方安装包

访问 Node.js 官网
打开浏览器,访问 https://nodejs.org/

选择合适版本

LTS (Long Term Support):长期支持版,稳定性高,推荐生产环境使用

Current:最新特性版,包含最新功能,适合测试和学习

下载安装包

网站会自动检测您的操作系统,提供对应的下载链接

对于 Apple Silicon Mac,会下载 ARM64 版本

对于 Intel Mac,会下载 x64 版本

验证下载文件
下载完成后,检查文件完整性:

# 检查文件大小 ls -lh ~/Downloads/node-*.pkg # 可选:验证 SHA256 校验和 shasum -a 256 ~/Downloads/node-*.pkg
3.2 安装过程详解

打开安装包,在下载文件夹中找到 .pkg 文件,双击打开安装程序。

安装向导步骤:

欢迎界面:阅读介绍信息,点击"继续"

许可协议:仔细阅读协议,点击"继续"然后"同意"

安装目标:选择安装磁盘(通常默认即可)

安装类型:点击"安装"开始安装过程

认证过程

系统会要求输入管理员密码,输入密码后点击"安装软件",安装完成,等待进度条完成,

看到"安装成功"提示后点击"关闭"。

3.3 验证安装

安装完成后,验证 Node.js 是否正确安装:

# 打开终端(可通过 Spotlight 搜索"终端"或 Finder -> 应用程序 -> 实用工具 -> 终端)

# 检查 Node.js 版本
node --version

# 检查 npm 版本
npm --version

# 检查安装路径
which node
which npm

# 运行 Node.js REPL 环境测试
node
> console.log("Node.js 安装成功!")
> .exit

预期输出示例:

$ node --version v18.12.1 $ npm --version 8.19.2 $ which node /usr/local/bin/node

安装过程中遇到问题:

/Users/.nvm/versions/node/v25.6.1/bin/npm ~  node dyld: cannot load 'node' (load command 0x80000034 is unknown) [1] 61809 abort node

看到这个错误别着急,你遇到的 dyld: cannot load ... load command 0x80000034 is unknown 问题,本质上是一个版本兼容性问题。简单来说,就是你当前安装的 Node.js 版本太新了,你的 macOS 10 系统“不认识”它。

为什么会出现这个错误?

这个错误的核心,在于 macOS 系统的动态链接器 dyld 无法理解新版 Node.js 中的某个“加载命令”(Load Command)。错误代码 0x80000034 具体指代的是一个叫做 LC_BUILD_VERSION 的命令,它是在较新版本的 macOS 中才引入的,用于指定二进制文件构建时所依赖的 SDK 和最低系统版本 -9

当你在旧版系统(如 macOS 10.14 或更早)上运行一个使用新版 macOS SDK(例如为 10.15 或 11.0 构建)编译的程序时,旧系统的 dyld 就会因为遇到这个不认识的命令而拒绝加载,并抛出你看到的错误 -1-3-9

具体到你的情况,这很可能是因为你安装的 Node.js 版本(比如 Node.js 18.x 或更高版本)已经不再支持 macOS 10 了。从搜索结果来看,Node.js 18 明确要求 macOS 最低版本为 10.15,而你当前的系统版本可能低于这个要求,因此直接运行由新版 SDK 构建的二进制文件就会失败 -4-6-10

✅ 如何解决?

既然问题出在版本过新,最直接的解决方案就是安装一个与你的 macOS 10 系统相兼容的、更老的 Node.js 版本

  • 核心建议:安装 Node.js 16.x
    Node.js 16 是一个长期维护版本(LTS),对旧版 macOS 的支持通常比较好,且稳定性和安全性也有保障。根据其他开发者的经验,从 Node 18 降级到 16 通常可以解决此类问题 -6。如果 16 仍然不行,可以尝试 Node.js 14.x。
方案一:使用 Homebrew 降级安装(推荐,便于管理)

如果你之前是通过 Homebrew 安装的,可以先卸载当前的版本,然后安装指定版本。

  1. 首先,卸载当前的 Node.js:
brew uninstall --ignore-dependencies node brew uninstall --force node

     2. 然后,安装 Node.js 16:

brew install node@16
安装指定版本的Node.js

 注:下载指定版本的安装文件手动安装也可以。

https://nodejs.org/en/download

方案二:从官方网站手动下载安装

如果你更喜欢直接使用安装包,可以前往 Node.js 的官方下载页面,选择适合你系统的 16.x 版本。

  1. 访问 Node.js 的其他发行版本页面:https://nodejs.org/en/download/other
  2. 找到 Node.js 16.x 的最新版本(例如 v16.20.2)。
  3. 在列表中找到并下载适用于你系统的 macOS 安装包(通常是 .pkg 或 .tar.gz 文件)。
  4. 在安装之前,建议先卸载掉当前无法使用的版本。你可以简单地将 /usr/local/bin/node 等文件移走,或者使用安装包自带的卸载功能(如果有的话)。最直接的方式是运行你之前安装的 .pkg 安装器,有时它会提供覆盖或卸载选项。
  5. 双击下载好的 node-v16.x.x.pkg 文件,按照指引完成安装。
  6. 打开新终端窗口,运行 node -v 验证。

     7. 安装完成后,根据 Homebrew 的提示,你可能需要将它添加到你的系统 PATH 环境变量中,通常是执行以下命令:

echo 'export PATH="/usr/local/opt/node@16/bin:$PATH"' >> ~/.zshrc source ~/.zshrc

(如果你的 shell 是 bash,请将 .zshrc 替换为 .bash_profile 或 .bashrc

    8. 最后,验证版本:

💡 补充说明

  • 你的 macOS 具体版本:可以点击屏幕左上角的苹果图标 -> “关于本机”,查看具体的版本号,比如是 10.14 (Mojave) 还是 10.13 (High Sierra)。这对确认兼容性范围会有帮助。

Read more

2025 最新版 Node.js 下载安装及环境配置教程

一、版本选择说明 根据 Node.js 官方发布计划,截至 2025 年 9 月,当前处于Active LTS(长期支持)状态的版本为Node.js v22.x(代号 "Jod"),该版本于 2024 年 4 月发布,将提供长期支持至 2027 年 4 月,是生产环境的最优选择。 ⚠️ 注意:Node.js 的奇数版本(如 v23)为短期开发版本,已在 2025 年 5 月停止支持,不建议用于生产环境;官网默认展示的v22.19.0(LTS)

By Ne0inhk

xxxwww在电商爬虫中的实际应用案例

快速体验 1. 打开 InsCode(快马)平台 https://www.inscode.net 2. 点击'项目生成'按钮,等待项目生成完整后预览效果 输入框内输入如下内容: 构建一个基于xxxwww的电商爬虫系统,能够自动抓取指定电商平台的商品信息(名称、价格、评价等),并将数据清洗后存储到MySQL数据库。要求实现定时任务和反爬虫策略,输出可视化报表。 电商数据爬虫的需求背景 在电商运营和市场竞争分析中,及时获取竞品价格、用户评价等数据至关重要。传统人工收集效率低下,而爬虫技术可以自动化这一过程。最近我用xxxwww技术实现了一个电商爬虫系统,能够定时抓取多个平台商品数据并生成可视化报表,大幅提升了团队的数据获取效率。 系统核心功能设计 整个系统主要分为四个模块,每个模块都针对电商数据特点做了优化: 1. 爬虫调度模块:负责管理爬取任务队列,协调多个平台的爬取节奏 2. 数据抓取模块:使用xxxwww技术实现商品详情页的精准定位和数据提取 3. 数据处理模块:对原始数据进行清洗、去重和格式标准化 4.

By Ne0inhk
Flutter 组件 dep_gen 的鸿蒙化适配实战 - 驾驭极致依赖注入大坝、实现 OpenHarmony 分布式端高性能模块化管理、依赖拓扑指纹预检与工业级服务定位核方案

Flutter 组件 dep_gen 的鸿蒙化适配实战 - 驾驭极致依赖注入大坝、实现 OpenHarmony 分布式端高性能模块化管理、依赖拓扑指纹预检与工业级服务定位核方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 dep_gen 的鸿蒙化适配实战 - 驾驭极致依赖注入大坝、实现 OpenHarmony 分布式端高性能模块化管理、依赖拓扑指纹预检与工业级服务定位核方案 前言 在鸿蒙(OpenHarmony)生态的大规模、多模块协同开发、或者是对代码解耦有极其严苛要求的 0308 批次金融级应用中。“模块间依赖的清晰度与服务注入的极速寻找维度”是衡量整个系统架构鲁棒性的最终质量门禁。面对包含数百个业务 Feature、海量动态加载的插件、甚至是由于并发初始化产生的 0308 批次注入冲突。如果仅仅依靠简单的“硬编码单例”或者是干瘪的手动实例化。不仅会导致在处理大型复杂逻辑时让系统如同在逻辑废墟中盲人摸象。更会因为依赖链不透明,令开发者在进行功能重构时瞬间陷入由于循环依赖由于引起的死锁盲区。 我们需要一种“逻辑严密、代码生成对齐”的资产管理艺术。 dep_gen 是一套专注于无缝整合全球公认“依赖生成(Dependency Generation)”思

By Ne0inhk
Flutter 三方库 redis 挂载鸿蒙分布式高性能终端毫秒级缓存底座全向读写适配解析:构建纯原生套接字链接绕开笨重中间件实现云上状态快照实时映射降维打击时延

Flutter 三方库 redis 挂载鸿蒙分布式高性能终端毫秒级缓存底座全向读写适配解析:构建纯原生套接字链接绕开笨重中间件实现云上状态快照实时映射降维打击时延

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 redis 挂载鸿蒙分布式高性能终端毫秒级缓存底座全向读写适配解析:构建纯原生套接字链接绕开笨重中间件实现云上状态快照实时映射降维打击时延 前言 在 OpenHarmony 应用的高级架构设计中,当我们面对极大规模的实时业务状态同步(如多设备协同的动态配置、高频更新的排行榜、或是多用户在线协同的分布式缓存)时,传统的 RDB 或偏持久化的数据库往往在吞吐量与写入延迟上无法满足需求。通过连接远端 Redis 或在鸿蒙端侧架设 Redis 代理成为了性能优化的杀手锏。redis 库为 Flutter 开发者提供了基于 RESP 协议的纯 Dart 开发驱动。本文将带大家在鸿蒙端实战接入,打造极致稳定的数据“喷泉”。 一、原直线性 / 概念介绍 1.1 基础原理/概念介绍 redis 插件的核心逻辑是基于 基于流式通道的 RESP (REdis

By Ne0inhk