mac安装node的步骤

适用于macOS 10.15及以上版本。

前提条件

  • macOS版本:确保系统为macOS 10.15(Catalina)或更高版本。可在“苹果菜单 > 关于本机”查看。
  • 管理员权限:部分安装可能需要管理员权限。
  • 网络连接:需要联网下载安装包或工具。

安装方法

以下是三种常用的安装Node.js方法,按推荐顺序排列:

方法 1:使用Homebrew(推荐)

Homebrew 是Mac上常用的包管理器,安装简单且便于管理版本。

  1. 安装Homebrew(若未安装):

    • 打开终端(位于“应用程序 > 实用工具 > 终端”)。
    • 运行以下命令安装Homebrew:
      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
      
    • 按提示输入密码并回车,安装过程可能需要几分钟。
    • 安装完成后,配置Homebrew环境变量(根据提示添加至 ~/.zshrc~/.bashrc):
      echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
      source ~/.zshrc
      
  2. 安装Node.js

    • 在终端运行:
      brew install node
      
    • Homebrew会自动安装最新LTS版本的Node.js和npm。
  3. 验证安装

    • 检查Node.js版本:
      node --version
      
    • 检查npm版本:
      npm --version
      
    • 输出类似 v18.x.x(Node.js)和 9.x.x(npm)表示安装成功。
方法 2:直接从Node.js官网下载

适合不想使用包管理器的用户。

  1. 访问Node.js官网

    • 打开浏览器,前往 nodejs.org。
    • 推荐下载 LTS版本(长期支持版,稳定),点击“LTS”按钮下载 .pkg 安装包。
  2. 运行安装包

    • 双击下载的 .pkg 文件,启动安装向导。
    • 按提示点击“继续”,同意许可协议,选择安装位置(默认即可),输入管理员密码完成安装。
    • 安装程序会自动安装Node.js和npm。
  3. 验证安装

    • 打开终端,运行:
      node --version
      npm --version
      
    • 确认版本号输出。
方法 3:使用nvm(Node Version Manager)

适合需要管理多个Node.js版本的开发者。

  1. 安装nvm

    • 在终端运行以下命令安装nvm:
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
      
    • 安装完成后,关闭并重新打开终端,或运行:
      source ~/.zshrc
      
    • 验证nvm安装:
      nvm --version
      
  2. 安装Node.js

    • 安装最新LTS版本:
      nvm install --lts
      
    • 或指定版本,例如:
      nvm install 18
      
    • 设置默认版本:
      nvm use --lts
      nvm alias default --lts
      
  3. 验证安装

    • 检查Node.js和npm版本:
      node --version
      npm --version
      

注意事项

  • 权限问题
    • 若npm安装全局包时提示权限错误,避免使用 sudo。可修复npm权限:
      sudo chown -R $(whoami):admin ~/node_modules /usr/local/lib/node_modules
      
    • 或使用nvm管理Node.js,避免权限问题。
  • 更新Node.js
    • Homebrew:运行 brew upgrade node
    • nvm:运行 nvm install --lts --reinstall-packages-from=current
    • 官网安装:重新下载最新 .pkg 安装。
  • 卸载Node.js(如需要):
    • Homebrew:brew uninstall node
    • 官网安装:手动删除 /usr/local/bin/node/usr/local/lib/node_modules
    • nvm:nvm uninstall <版本号>
  • 防火墙/代理:若下载缓慢,检查网络设置或使用国内镜像(如 https://npmmirror.com/mirrors/node/)。

问题排查

  • 命令未找到:确保环境变量正确配置,检查 ~/.zshrc~/.bashrc 中的PATH设置。
  • 安装失败:尝试更新Homebrew(brew update)或清理缓存(brew cleanup)。
  • 版本冲突:使用nvm管理多个版本,避免冲突。
  • 若需进一步帮助,请提供错误信息,我可协助排查。

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

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

相关文章

【LeetCode数据结构】栈的应用——有效的括号问题详解

&#x1f525;个人主页&#xff1a;艾莉丝努力练剑 ❄专栏传送门&#xff1a;《C语言》、《数据结构与算法》、C语言刷题12天IO强训、LeetCode代码强化刷题 &#x1f349;学习方向&#xff1a;C/C方向 ⭐️人生格言&#xff1a;为天地立心&#xff0c;为生民立命&#xff0c;为…

多尺度卷积模型:Inception块

在GoogLeNet中&#xff0c;基本的卷积块被称为Inception块&#xff08;Inception block&#xff09;。 使用窗口大小为11&#xff0c;33&#xff0c;551\times1&#xff0c;3\times3&#xff0c;5\times511&#xff0c;33&#xff0c;55的卷积层&#xff0c;从不同空间大小中提…

Android 默认图库播放视频没有自动循环功能,如何添加

Android 默认图库播放视频没有自动循环功能, 如何添加 按如下方式添加 开发云 - 一站式云服务平台 .../apps/Gallery2/res/values-zh-rCN/strings.xml | 3 ++ packages/apps/Gallery2/res/values/strings.xml | 3 ++ .../com/android/gallery3d/app/MovieActivity…

7月21日总结

命令执行 RCE RCE&#xff08;remote code execute&#xff09;&#xff1a;远程命令执行或者代码执行&#xff0c;我们平时说的rce&#xff0c;比如thinkPHP的 rce漏洞&#xff0c;即算代码注入漏洞&#xff0c;也算rce漏洞&#xff0c;因为渗透的最终情况可以实现执行命令或…

Linux——自制shell命令行解释器

文章目录1.打印命令提示符2.获取用户输入指令3.重定向分析4.命令行参数表,环境变量表,初始化5.命令解析6.命令执行6.1.创建子进程6.2 处理内建命令6.3 文件重定向7.源码前言 在实现shell的时候我们先创建自己myshell目录&#xff0c;在目录中创建myshell.cc文件&#xff0c;因…

Boost库智能指针boost::shared_ptr详解和常用场景使用错误示例以及解决方法

1、Boost智能指针 —— boost::shared_ptr 详解一、什么是 boost::shared_ptr boost::shared_ptr 是 Boost 库中实现的一个智能指针模板类&#xff0c;用于管理动态分配的对象生命周期&#xff0c;采用引用计数机制。多个 shared_ptr 实例可以共享同一个对象的所有权&#xff0…

科学分析指南,如何快速找到并清理磁盘的无用文件

随着时间的推移&#xff0c;系统中会积累大量的临时文件、缓存文件、不再需要的安装包或其他大型文件。磁盘清理可以删除这些不必要的文件&#xff0c;从而释放宝贵的磁盘空间。它无需安装&#xff0c;插上 U 盘就能直接使用。只需勾选需要扫描的磁盘&#xff0c;点击“开始分析…

Laravel 系统版本查看及artisan管理员密码找回方法针对各个版本通用方法及原理-优雅草卓伊凡

Laravel 系统版本查看及artisan管理员密码找回方法针对各个版本通用方法及原理-优雅草卓伊凡一、查看 Laravel 版本的方法优雅草蜻蜓T会议系统专业版 最近又有客户要了&#xff0c;但是发现 密码不对 管理员账户密码不对&#xff0c;卓伊凡必须处理下&#xff0c;这里顺便讲解密…

针对大规模语言模型的上下文工程技术调研与总结(翻译并摘要)

针对大规模语言模型的上下文工程技术调研与总结声明摘要部分翻译介绍部分翻译相关工作部分翻译并摘要为什么使用上下文工程&#xff08;翻译并摘要&#xff09;基础组件&#xff08;翻译并摘要&#xff09;RAG&#xff08;翻译并摘要简单介绍一下个人认为比较好的技术&#xff…

QT配置Quazip外部库

1.下载QuaZip源码网址&#xff1a;https://sourceforge.net/projects/quazip/  注&#xff1a;下载->解压->打开.pro文件2.编译QuaZip源码2.1配置zlib注&#xff1a;QuaZip需zlib的支持&#xff0c;我们需要引用zlib找到本地安装Qt目录下zlib目录&#xff1a;注&#x…

从C++开始的编程生活(4)——类的定义、访问限定符、类域、类的实例化和this指针

前言 本系列文章承接C语言的学习&#xff0c;需要有C语言的基础才能学会哦~ 第3篇主要讲的是有关于C的类的定义、访问限定符、类域、类的实例化和this指针。 C才起步&#xff0c;都很简单呢&#xff01; 目录 前言 类 基本语法 访问限定符 基本语法 类域 类的实例化 内…

AD域控制器虚拟化的安全加固最佳实践

以下是AD域控制器虚拟化安全加固的7项核心实践&#xff0c;结合最新Windows Server 2022特性与虚拟化环境需求&#xff1a;基础架构强化‌ 采用静态IP分配并确保所有域控节点DNS指向主DC&#xff08;如192.168.1.10&#xff09;‌ 虚拟机模板需预配置林/域功能级别为Windows Se…

java解析nc气象数据

1.1pom.xml<dependency><groupId>edu.ucar</groupId><artifactId>netcdfAll</artifactId><version>5.4.1</version></dependency>1.2 netcdf使用/** param type 0 ,1, 2 wind 1 or 2 其他 0 .* return Map* */public Map i…

STC8H8K64U SKDIP28芯片频率占空比PWM波形

/****PWM输出任意周期占空比波形*******/ #include "STC8H.h" // #include "intrins.h" // #define uchar unsigned char // #define uint unsig…

【RK3576】【Android14】USB开发调试

获取更多相关的【RK3576】【Android14】驱动开发&#xff0c;可收藏系列博文&#xff0c;持续更新中&#xff1a; 【RK3576】Android 14 驱动开发实战指南 硬件接口 RK3576支持两个USB3.0控制器 驱动开发 dts配置 在“Android14/kernel-6.1/arch/arm64/boot/dts/rockchip/rk…

20. TaskExecutor与ResourceManager心跳

20. TaskExecutor与ResourceManager心跳 现在&#xff0c;需要回过头看 ResourceManager是如何产生心跳管理服务的。cluster.initializeServices 方法的 heartbeatServices createHeartbeatServices(configuration);产生一个 HeartbeatServicesImpljobmanager的 resourceManag…

OS19.【Linux】进程状态(上)

目录 1.情景引入 2.操作系统学科对进程状态的分类 运行状态 基于时间片的轮转调度算法 阻塞状态 等待IO设备的例子 等待其他进程中需要获取的数据 进程唤醒 挂起状态(全称为阻塞挂起状态) 简单谈谈虚拟内存管理 就绪状态 笔面试题 3.Linux对进程状态的分类 R和S状…

如何优雅地修改项目的 Android 版本(API 级别)

引言 在 Android 开发的日常迭代中&#xff0c;我们经常需要升级或降级项目的 minSdkVersion、targetSdkVersion 与 compileSdkVersion。升级可以解锁新特性和性能优化&#xff1b;降级则可能为了兼容旧机型或快速验证问题。本文将手把手演示在 Android Studio 里修改 Android …

GNU Radio多类信号多种参数数据集生成技巧

参考我的这篇博客&#xff0c;我想自制一个多信号数据集&#xff1a; 【多雷达信号硬件模拟】 3台USRP1台VSG信号发生器模拟多雷达信号&#xff0c;1台USRP产生高斯噪声模拟更多信道环境&#xff0c;1台USRP采集信号 需要在多个波段对四种信号进行参数设置&#xff0c;带宽有…

Ansible + Shell 服务器巡检脚本

脚本概述这是一个用于服务器日常巡检的 Shell 脚本&#xff0c;主要功能包括&#xff1a;检查多台主机的网络连通性 监控CPU、内存和磁盘使用率 生成详细的巡检报告 通过企业微信发送告警通知核心技术点1. 主机批量管理使用Ansible工具远程执行命令和脚本 通过主机…