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 升级。


相关推荐
梦帮科技17 小时前
【3.0修订版】 RNS 代币架构:ERC20 五件套扩展与六钱包分配
数据结构·后端·算法·架构·node.js·区块链·php
niyongsheng1 天前
后端零改动,给若依换一套现代化前端
vue.js·开源·node.js
liangshanbo12151 天前
面试题:Webpack 的 publicPath 有什么作用?
前端·webpack·node.js
hasty2 天前
不上传新包,也能改变用户拿到的版本:npm dist-tag 的 OIDC 权限治理
前端·npm·node.js
福兮说3 天前
前后端算的 MD5、SHA-256 对不上?编码、换行、BOM、HMAC、JSON 顺序,八个原因逐个实测
前端·javascript·node.js·json·哈希算法
lingchen19063 天前
Node.js的下载安装配置
node.js
LRL_3 天前
【实战指南】Node.js 跨平台依赖下载:如何在 Windows/Linux 环境下互跨下载目标系统的 npm/pnpm 包
linux·windows·node.js
福兮说4 天前
URL 编码的七个坑:c++ 传到后端变空格、%25 套娃、截断 emoji 直接报错
开发语言·前端·javascript·node.js·url
liangshanbo12154 天前
Webpack vs Vite 底层原理高频追问的问题
前端·webpack·node.js
玖石书4 天前
HiSH 通过 apk 安装 Node.js、npm 与 pnpm
npm·node.js·鸿蒙·hish