macOS 使用 Nvm 管理不同项目对应的 Node 版本

陌静大大_2961

陌静大大_2961

2026-08-10

470人浏览

原创

NVM 管理多项目 Node 版本的核心是通过项目根目录的 .nvmrc 文件声明版本,并配合 shell hook 实现 cd 自动切换;安装后需 source 配置、设置默认版、隔离管理各版本及 npm 包。

用 nvm 管理不同项目的 node 版本,核心是让每个项目“自带版本声明”,而不是靠人记、手动切。它不是装完就完事的工具,而是一套可自动响应的环境约定。

安装 NVM 并确认基础可用

终端执行官方脚本安装(适配 Intel 和 Apple Silicon):

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash

接着加载环境:

source ~/.zshrc(macOS 默认 shell 是 zsh)

验证是否生效:

nvm --version → 输出类似 0.40.4 即成功

为项目指定 Node 版本(.nvmrc 文件)

在每个项目的根目录下新建一个 .nvmrc 文件,内容只写一行版本号:

macOS UI 自动化技能包 —— 用 Python 控制你的 Mac
macOS UI 自动化技能包 —— 用 Python 控制你的 Mac

让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限

下载
  • echo "18.19.0" > .nvmrc(老项目用 LTS)
  • echo "20.12.0" > .nvmrc(新项目用稳定版)
  • echo "24.16.0" > .nvmrc(尝鲜最新特性)

这个文件不依赖任何插件,NVM 原生支持读取。进入该目录后,运行 nvm use 就会自动匹配并切换。

实现“进目录自动切换”(推荐启用)

避免每次 cd 都手动敲 nvm use,可在 ~/.zshrc 底部追加一段 shell hook:

cd() { builtin cd "$@"; nvm use 2>/dev/null || nvm use default 2>/dev/null; }

保存后执行 source ~/.zshrc 生效。之后只要 cd 进入含 .nvmrc 的项目,Node 版本就自动对齐。

日常维护与常见操作

  • 查看所有已装版本:nvm ls(带箭头 -> 的是当前生效版)
  • 安装新版本:nvm install 22.14.0(支持 --lts 快速装长期支持版)
  • 设默认启动版:nvm alias default 20.12.0(新开终端自动用此版)
  • 卸载不用版本:nvm uninstall 16.20.2(彻底清理,不残留)
  • 检查当前状态:nvm current 和 node -v 应输出一致

所有版本和全局 npm 包都隔离在 ~/.nvm/versions/node/ 下,不碰系统路径,也不需要 sudo。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

node macos

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
macOS怎么切换用户账户
macOS怎么切换用户账户

在 macOS 系统中,可通过多种方式切换用户账户。如点击苹果图标选择 “系统偏好设置”,打开 “用户与群组” 进行切换;或启用快速用户切换功能,通过菜单栏或控制中心的账户名称切换;还能使用快捷键 “Control+Command+Q” 锁定屏幕后切换。

2025.05.09

5124

14

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

60

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

40

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

160

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

140

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

120

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

80

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

60

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

80

25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WebSocket手册
WebSocket手册

共0课时 | 0人学习

HTML5/CSS3/JavaScript/ES6入门课程
HTML5/CSS3/JavaScript/ES6入门课程

共102课时 | 11万人学习

前端基础到实战(HTML5+CSS3+ES6+NPM)
前端基础到实战(HTML5+CSS3+ES6+NPM)

共162课时 | 28.9万人学习