Mac OS(10.13.6) 安装Node.js

本文介绍如何下载并安装Node.js,通过验证确保安装正确,并提供了一个简单的hello world项目示例,帮助初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 下载安装包

    下载地址:https://nodejs.org/en/
     


     
  2. 安装

    双击pkg文件,下一步、下一步安装完成
     


     
  3. 验证是否安装成功

    打开terminal,输入node -v,然后回车,接着输入npm -v,回车

    如果返回版本信息,则表示安装成功
     


     
  4. 第一个node.js项目helloworld

    在finder中用户目录下新建helloworld.js文件,帖入以下代码
     

    const http = require('http');

    const hostname = '127.0.0.1';

    const port = 1337;

    http.createServer((req, res) => {

    res.writeHead(200, { 'Content-Type': 'text/plain' });

    res.end('Hello World\n');

    }).listen(port, hostname, () => {

    console.log(`Server running at http://${hostname}:${port}/`);

    });

    保存,打开terminal,使用node helloworld.js启动服务

     


    打开浏览器输入http://127.0.0.1:1337

     

     

<think>我们正在处理一个关于在macOS上运行Node.js时出现的 dyld符号缺失错误的问题。错误信息中提到了缺失的符号是 `____chkstk_darwin`,并且该符号在`libSystem.B.dylib`中未找到。根据提供的引用,我们可以发现类似的问题在其他软件(如Java JDK、Swift应用、.NET应用、MySQL等)中也出现过,原因和解决方案有共同点。根据引用[1]、[2]、[5]中的信息,这个错误通常是由于软件(或库)是为较新的macOS版本编译的,而运行环境是较旧的 macOS版本。具体来说,`____chkstk_darwin`这个符号是在macOS11.0 (Big Sur)中引入的,因此如果运行环境低于这个版本,就会找不到这个符号。引用[1]中,JDK23是为 macOS11.0编译的,在旧系统上运行就报错。引用[2]中,SwiftConcurrency库是为iOS13.0编译的,在iOS12.x上运行报错。引用[5]中,MySQL8.0.28是为macOS11(arm64)编译的,在 macOS10.13.6上运行报错。因此,我们可以推断,用户遇到的Node.js错误很可能是因为安装Node.js二进制文件是为较新的macOS版本(至少是 macOS11.0)编译的,而用户当前的 macOS版本低于11.0。解决方案:1.升级macOS到至少11.0(BigSur)或更高版本。这是最直接的解决方案,因为新版本的 Node.js可能要求较新的系统支持。2.如果不想升级系统,可以尝试安装为旧版macOS编译的Node.js版本。在Node.js下载页面,通常会有针对不同 macOS版本的安装包。可以选择一个与当前系统兼容的版本(例如,选择 LTS版本中支持旧系统的)。另外,引用[4]提到,对于类似动态链接符号缺失的问题,有时可以通过设置环境变量来改变行为(但该引用中针对的是iOS开发中的另一个符号,不一定适用于此)。不过,对于`____chkstk_darwin`缺失,目前没有通用的环境变量解决方案。步骤:1.首先,检查当前的macOS版本。可以在终端中运行`sw_vers`查看。2.如果macOS版本低于11.0(即版本号小于10.16,但实际上11.0之前的版本号是10.x,而10.16并不存在,因为10.15之后就是11.0),那么就需要升级系统或安装兼容Node.js版本。3.前往 Node.js官网(https://nodejs.org/)的下载页面,查看各个版本对 macOS的要求。通常,较旧的Node.js版本支持较旧的macOS版本。例如,Node.js14.x支持 macOS10.10及以上,Node.js16.x支持 macOS10.13及以上,而Node.js18.x及以上可能需要macOS10.15或更高版本。具体请查看官方文档。如果用户当前系统是macOS10.15(Catalina)或更早,而安装Node.js版本是18.x或更高,则可能会遇到此问题。建议安装与系统兼容Node.js版本。另外,如果是通过 Homebrew安装Node.js,也可以尝试安装旧版本: ```bash#先卸载当前版本brew uninstall node#查看可用的node版本brew searchnode#通常,homebrew会提供不同的版本,比如node@14, node@16等#安装一个旧版本,例如node@16brewinstall node@16#将node@16添加到PATH(根据提示操作) echo'exportPATH="/usr/local/opt/node@16/bin:$PATH"' >>~/.zshrcsource ~/.zshrc```注意:如果用户使用的是 bash,则应该添加到`~/.bash_profile`或`~/.bashrc`。4.如果用户已经升级了系统,或者安装兼容Node.js版本,应该可以解决此问题。总结:核心问题在于Node.js二进制文件与当前 macOS版本不兼容。解决方案是升级系统或安装兼容Node.js版本。根据引用,我们还可以看到类似错误(引用[3])中通过创建软链接解决路径问题,但本错误不是路径问题,所以不适用。引用[4]提到设置最低部署目标版本,但那是开发时设置,对于已编译的Node.js可执行文件,用户无法修改。因此,我们给出上述建议。相关问题:1.如何检查macOS的当前版本?2.如何卸载当前Node.js安装特定版本?3.如果不想升级系统,有哪些Node.js版本支持 macOS10.15或更低版本?4.除了升级系统或降级Node.js,还有其他解决 dyld符号缺失错误的方法吗?</think>### macOSNode.js 报错 `dyld: Symbol not found: ____chkstk_darwin` 的解决方案 此错误通常是由于 **Node.js 版本与 macOS 系统版本不兼容**导致的。具体原因是 Node.js 二进制文件依赖 macOS 11.0+ 的系统库符号 `____chkstk_darwin`,而您的系统版本较低(低于 macOS 11 Big Sur)。以下是逐步解决方案: --- #### **1. 验证系统版本** ```bash sw_vers -productVersion ``` - 若输出为 `10.x`(如 `10.15`),说明系统低于 macOS 11.0,需采取兼容措施[^1][^5]。 --- #### **2. 解决方案** ##### ✅ 方案一:安装兼容Node.js 版本(推荐) **卸载当前版本**,安装专为旧系统编译的版本: ```bash # 卸载当前 Node.js brew uninstall node # 若通过 Homebrew 安装 sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules} # 手动清理残留 # 安装兼容版本(如支持 macOS 10.15 的 LTS 版本) brew install node@16 # Node.js 16.x 兼容 macOS 10.13+ echo 'export PATH="/usr/local/opt/node@16/bin:$PATH"' >> ~/.zshrc # 添加 PATH source ~/.zshrc ``` ##### ✅ 方案二:升级 macOS 系统 若硬件支持,升级到 **macOS 11 Big Sur 或更高版本**: 1. 前往 [Apple 系统更新页面](https://www.apple.com/macos/) 2. 安装后重试 Node.js 命令 ##### ⚠️ 方案三:强制符号链接(临时缓解) ```bash sudo ln -s /usr/lib/libSystem.B.dylib /Library/Java/JavaVirtualMachines/ ``` > **注意**:此方法可能不稳定,仅参考类似问题思路[^3],不推荐优先使用。 --- #### **3. 验证修复** ```bash node -v # 应显示兼容版本(如 v16.x.x) npm -v # 无报错即成功 ``` --- ### 根本原因分析 - `____chkstk_darwin` 是 macOS 11.0+ 的系统级符号,旧系统(如 10.15)的 `libSystem.B.dylib` 不包含此符号[^1][^5]。 - Node.js 新版本默认针对较新 macOS 编译,若在旧系统运行会触发此动态链接错误[^2][^4]。 - 类似问题在 JDK、MySQL 等依赖新系统库的软件中均有出现[^1][^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值