macOS 使用 NVM 升级 Node.js 完整操作

完整规范的升级 Node.js 操作


📝 macOS 使用 NVM 升级 Node.js 完整操作


一、问题描述

在 macOS 系统中,使用 nvm install node 升级 Node.js 时遇到错误:

arduino 复制代码
Version 'node' not found - try `nvm ls-remote` to browse available versions.

同时执行 nvm ls-remote 仅能列出 iojs 相关版本,缺失正常的 Node.js 版本(如 v18、v20系列)。


二、原因分析

综合排查后,发现可能原因有以下几种:

可能原因 说明
1. nvm 未正确加载 当前终端未加载 nvm 环境变量或初始化脚本。
2. 网络连接问题 无法访问 Node 官方源(nodejs.org/dist),导致版本列...
3. 镜像源配置问题 nvm 默认从 Node 官网拉取数据,国内访问有时被墙或连接异常。

三、解决方案

1. 确保 nvm 正确加载

在终端执行以下命令,手动加载 nvm 环境变量:

bash 复制代码
export NVM_DIR="$HOME/.nvm"
source "$NVM_DIR/nvm.sh"

验证 nvm 是否加载成功:

css 复制代码
nvm --version

若能正确输出版本号(如 0.39.7),说明 nvm 已正常加载。


2. 设置国内镜像源(推荐淘宝 npmmirror)

由于访问 Node 官方源不稳定,推荐使用淘宝 Node 镜像。

执行以下命令,切换镜像源:

arduino 复制代码
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node

再次执行:

复制代码
nvm ls-remote

如果能正常列出 Node 版本列表(如 v18.17.1, v20.12.2 等),说明切换成功。


3. 安装最新 Node.js

安装最新稳定版 Node.js:

复制代码
nvm install node

设置为默认版本:

csharp 复制代码
nvm alias default node
nvm use node

查看安装完成后的版本:

复制代码
node -v
npm -v

4. (可选)永久配置到 Shell 配置文件

为了避免每次手动配置,推荐将镜像源和 nvm 初始化写入 ~/.zshrc~/.bashrc 文件中。

编辑配置文件:

bash 复制代码
nano ~/.zshrc

添加以下内容:

bash 复制代码
export NVM_DIR="$HOME/.nvm"
source "$NVM_DIR/nvm.sh"
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node

保存并重新加载配置:

bash 复制代码
source ~/.zshrc

这样以后打开终端就能直接使用 nvm 和国内镜像了。


四、最终验证

执行以下命令确认安装成功:

bash 复制代码
node -v
npm -v
nvm ls

确保显示的是新安装的 Node.js 版本。


✅ 总结

本次问题的根因在于网络环境导致 nvm 无法访问 Node 官方源,只能看到 iojs 版本。通过切换到淘宝 Node 镜像源,并正确加载 nvm 环境,最终成功完成了 Node.js 升级。


相关推荐
一个很帅的帅哥1 分钟前
《深入浅出 Node.js》分享精简大纲
node.js
Juchecar5 小时前
npm、pnpm、yarn 是什么?该用哪个?怎么用?如何迁移?
前端·node.js
林太白6 小时前
npm多组件发布Vue3+TS版本,快来像Antd一样搭建属于你的UI库吧
前端·javascript·node.js
百罹鸟6 小时前
nestjs 从零开始 一步一步实践
前端·node.js·nestjs
前端小木屋7 小时前
Express框架介绍与基础入门
前端·node.js
一个很帅的帅哥7 小时前
Node.js的特性
node.js
卿·静7 小时前
Node.js终极文本转图指南
前端·javascript·vscode·node.js
EndingCoder7 小时前
Electron 简介:Node.js 桌面开发的起点
开发语言·前端·javascript·electron·node.js·桌面端
郏国上8 小时前
如何循环同步下载文件
开发语言·javascript·node.js
专注API从业者1 天前
基于 Node.js 的淘宝 API 接口开发:快速构建异步数据采集服务
大数据·前端·数据库·数据挖掘·node.js