1. 先搞明白:Node.js 是个运行时,不是一门语言
很多人第一次接触 Node.js 时,会把它当成一门编程语言,其实不是。Node.js 本质上是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它的作用就是让 JavaScript 代码能在浏览器之外的地方运行。
用大白话说:以前 JavaScript 只能在浏览器里跑,页面上的交互逻辑全靠它;Node.js 出现之后,JavaScript 可以跑到服务器上、命令行里,能做后端服务、写工具脚本、搭开发服务器。前端开发者学会 Node.js 后,相当于从"只会在浏览器里写交互"进阶到"能用同一门语言写整个应用"。
那装了 Node.js 到底能干嘛?往实际了说,日常开发中至少有这几类事离不开它:
- 跑前端工程化工具,比如 Webpack、Vite,这些打包构建工具全都依赖 Node 环境;
- 用 npm 或 yarn 安装项目依赖包,随便一个前端项目,
npm install就是家常便饭; - 开发调试时启动本地服务,Vue、React 脚手架创建的项目都用
npm run dev起开发服务器; - 自己写后端接口服务,用 Express、Koa 或 NestJS 这些框架,JavaScript 直接写服务端逻辑;
- 做各种自动化脚本,比如批量处理文件、定时任务、爬虫,Node 写起来非常顺手。
这套教程的目标很明确:无论你是零基础刚转行的新手,还是以前只用过浏览器开发者工具的前端初学者,都能照着下面的步骤,在自己的电脑上完整装好 Node.js 并跑通第一个程序。我不会只丢给你一个安装包链接,而是把版本选择、环境变量原理、常见报错排查一并讲透。
整个安装配置过程,说白了就三件事:下载一个合适的安装包、装上去、把环境变量配到系统里。但"合适"两个字里藏着不少门道,版本选错了、安装包类型挑错了,后面都会让你头疼。所以别急着点下载,先花两分钟把下面这部分看完。
2. 安装前避坑:版本选择、安装包类型与平台差异
2.1 LTS 版和 Current 版怎么选
进入 Node.js 官网首页,你会看到两个醒目的下载按钮,一个是 LTS,一个是 Current。这里先说结论:新手和绝大多数开发者直接选 LTS,别犹豫。
LTS 是 Long Term Support 的缩写,意味着这个版本会获得长期维护,官方持续修复 bug、补安全漏洞,稳定性有保障。Current 版本则是最新版,会率先加入新特性,但更新节奏快,可能引入破坏性变更,适合想尝鲜或者需要用到新 API 的人。
拿实际场景举例:你用 Current 版本写完代码,跑得好好的,结果过了半年这个版本的某个依赖包出现兼容性问题,被迫升级或降级,折腾半天。反观 LTS 版本,社区的软件包、依赖库都会优先保证兼容,遇到问题的概率低得多。
最近几年的 Node.js 版本号规律也比较清晰,常见的 LTS 版本比如 18.x、20.x、22.x,每个大版本迭代周期大概一年。如果你用的是 Vue3、Vite5、Webpack5 这类主流工具,LTS 版本完全能满足需求,没必要追新。
2.2 Windows、macOS、Linux 各自怎么选安装包
不同操作系统,安装方式和工具链差别挺大,这里先把结论列清楚:
| 操作系统 | 推荐方式 | 说明 |
|---|---|---|
| Windows | 官方 .msi 安装包 | 图形化安装,自动配置环境变量,最省事 |
| macOS | 官方 .pkg 安装包 | 类似 Windows 的 msi,双击安装即可;也可以用 Homebrew 装 |
| Linux | nvm 版本管理工具 | 建议用 nvm 安装,方便切换和管理多版本 |
Windows 用户下载时注意架构选择,现在绝大多数电脑是 64 位系统,选 x64 版本。怎么看自己电脑是 64 位还是 32 位?在 Windows 设置里搜"系统信息",或者右键"此电脑"→"属性",就能看到系统类型。如果你的电脑是近五六年买的,基本可以默认 x64,不用多想。
macOS 用户要留意芯片型号。Apple Silicon 芯片(M1、M2、M3 系列)要选 arm64 版本的安装包,Intel 芯片的 Mac 才选 x64。看芯片型号也很简单:点屏幕左上角苹果图标 →"关于本机",处理器信息里写着 Apple M1 就是 arm64,写着 Intel 就是 x64。
另外提一个很多教程没讲清楚的点:官网下载页还提供了 zip 和 7z 等免安装压缩包。这个压缩包解压之后其实也能用,但要自己手动配环境变量,对新手来说麻烦且容易出错。除非你已经很熟悉环境变量操作,否则第一选择永远是 .msi 或 .pkg 安装包,让安装程序帮你处理这些事。
2.3 安装前要做的两个小检查
确认完版本和安装包类型,动手安装之前,我建议你做两件小事:
第一,把正在运行的编辑器、IDE、终端窗口全部关掉。Windows 下安装 Node.js 会写环境变量,而环境变量的读取是"会话级"的,已经打开的终端不会自动加载新配置,你装完后在旧终端里执行node -v可能会提示找不到命令,很容易误以为安装失败了。
第二,如果有旧版本的 Node.js,先想清楚要不要共存。有些人电脑上已经装过 Node.js,但版本很老,或者配置得乱七八糟。处理方式有两种:一是进入控制面板的程序列表把旧版卸载干净再装新版;二是用 nvm-windows 这类版本管理工具来做多版本共存。对于新手,我建议直接卸载旧的装新版,干净利落,别把时间浪费在版本切换上。
3. Windows 全流程图文操作:从下载到环境变量配置
3.1 官网下载的正确姿势
打开 Node.js 官网,地址是 nodejs.org。如果你看到的是英文页面,没关系,按钮位置都是一样的。首页正中间有两个绿色按钮,左边那个写着"LTS",右边那个写着"Current",点击左侧 LTS 下方的按钮就会自动开始下载 .msi 文件。
这里要提醒一个很多教程没提的坑:官网默认下载按钮会识别你的操作系统,但如果你用的是 Windows 系统,点击后下载的可能是 Windows Installer (.msi) 文件。偶尔也会遇到官网访问速度慢、下载中断的情况,换个网络环境重试就行,不建议去非官方渠道下载安装包,避免引入恶意修改的版本。
下载完你会得到一个类似node-v20.11.0-x64.msi的文件,20.11.0 是版本号,x64 是架构。文件体积大概二三十兆,不大。
3.2 安装向导逐项说明
双击 .msi 文件,会弹出安装向导,整个安装过程其实只需要留意几步。
第一步是 License Agreement(许可协议),勾选 "I accept the terms in the License Agreement",然后点 Next。第二步选择安装路径,默认装在C:\Program Files\nodejs\,建议保持默认,路径中有 Program Files 没问题,后面会用到一个叫 PATH 环境变量的机制,这个路径会被写进去,别乱改成中文路径或带空格的奇怪路径。
第三步进入 Custom Setup 页面,这里有一个关键选项:Add to PATH,一定要确保这个选项被启用。默认情况下它是开启的,安装程序会自动把 Node.js 的安装目录加到系统环境变量里,这是整个安装过程中最核心的环节。
后面几步基本都是 Next、Finish,不需要改动任何东西。安装过程一般一分钟左右就完成了。
3.3 环境变量配置:这块最容易被忽略,也最容易出错
很多教程把环境变量配置写得像玄学,让新手觉得高深莫测,其实原理非常简单。
Windows 系统里有一个叫 PATH 的"查找路径列表"。当你在命令行里敲一个命令,比如node,系统并不是在全盘搜索哪里有 node 程序,而是依次在 PATH 里记录的每个目录中查找有没有node.exe。找到了就执行,找不到就提示"不是内部或外部命令,也不是可运行的程序"。
所以环境变量配置的本质就一句话:把 Node.js 的可执行文件目录告诉系统,让系统能在任意位置找到 node 命令。用 .msi 安装包安装时,勾选了 Add to PATH,这个工作安装程序自动帮你做了。
安装完后依然建议手动检查一遍,确保万无一失。操作步骤是:
- 按
Win + S搜索"环境变量",打开"编辑系统环境变量"; - 点击右下角"环境变量"按钮;
- 在"系统变量"列表中找到
Path这一项,双击打开编辑窗口; - 在列表里确认是否有
C:\Program Files\nodejs\这一项(如果你换了安装路径,这里对应你自己的路径)。
如果看到这一项,说明环境变量配置成功了。如果没看到,点"新建"把路径加进去,保存后重新打开一个终端窗口(注意,旧终端里配置不会生效)。
这里有个关键点我反复强调但不嫌多:改完环境变量后,必须把终端窗口完全关闭再重新打开。环境变量是在终端进程启动时加载的,旧窗口根本不知道你新加了配置。很多"我明明装好了但 node 还是找不到"的问题,90% 出在这个环节。
3.4 系统环境变量和用户环境变量的区别
环境变量设置窗口里有两个区域:上面的用户变量只对当前用户生效,下面的系统变量对所有用户生效。安装 Node.js 时默认是加到用户变量还是系统变量?实操发现 .msi 安装包默认会同时处理,但如果你是自己手动添加的,建议加到系统变量里,这样不管哪个用户登录都能用,省得将来因为权限问题出幺蛾子。
另外要注意:编辑系统变量可能需要管理员权限。如果你在编辑时提示权限不足,右键"此电脑"→"属性"→"高级系统设置",用管理员账号操作就行。
4. 安装验证与第一个 Node 程序试跑
4.1 验证三步走:node / npm / 版本信息
装完后怎么确认真的装好了?重新打开一个终端窗口,按Win + R输入cmd,或者直接搜索"命令提示符"打开。
依次输入下面的命令,看是否返回版本号:
node -v正常情况下会输出类似v20.11.0的结果。如果出现"不是内部或外部命令"的提示,请先回到 3.3 节检查环境变量,确认配置无误后再重试。绝大多数验证失败都出在这个环节。
npm -vnpm 是 Node.js 自带的包管理工具,装 Node.js 时会一起装上。输出类似10.2.4。如果 node 命令正常但 npm 报错,有可能是安装包损坏,卸载重装一遍往往会解决。
node不带任何参数直接输入 node,会进入交互式 REPL 环境,这是 JavaScript 的交互式解释器,光标前面会出现>提示符,类似于浏览器的控制台。在这里输入1 + 2回车,会输出3,说明 Node 环境可以正常执行 JS 代码。输入.exit退出。
这三步全部通过,恭喜,环境已经是好的了。
4.2 第一个 Node 程序:从创建文件到执行
命令行验证没问题还不够,建议再走一遍完整的"创建文件→编写代码→运行"流程,把写代码的基本路径打通。
在你方便的位置新建一个文件夹,比如D:\node-demo(在命令行里用cd /d D:\node-demo进入这个目录,或者直接在文件夹路径栏输入 cmd 回车,可以快速打开定位到该目录的终端)。
在文件夹里新建一个文本文件,命名为hello.js,用任何文本编辑器打开并写入:
console.log('Hello, Node.js!'); console.log('当前 Node 版本:', process.version);保存后,在命令行中执行:
node hello.js输出结果:
Hello, Node.js! 当前 Node 版本: v20.11.0到这步,你已经完成了一个真正意义上的 Node.js 程序从编写到运行的全流程。
4.3 常见验证问题排查清单
根据经验,新手在这一步最容易碰到下面这些问题,直接列个排查对照表:
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
node -v提示不是内部或外部命令 | 环境变量没配上或配错了 | 检查 Path 里是否有 nodejs 目录;检查路径是否正确;改完重启终端 |
| 安装时勾了 Add to PATH 但命令无效 | 旧终端窗口未重启 | 全部关闭终端,重新打开 |
node -v正常但npm -v报错 | 安装包损坏或残留旧配置 | 卸载重装;检查用户目录下是否有旧的 npmrc 文件 |
| 安装过程提示错误代码 2502/2503 | 系统权限问题 | 以管理员身份运行 cmd,再执行 msiexec 安装命令 |
排查的核心逻辑就一个:先确认安装目录里有没有node.exe这个文件,有的话问题就出在环境变量路径上;没有的话就重装。别碰到问题就整台电脑排查,定位清晰才能快速解决。
5. npm 提速与全局路径管理:装完必做的两件事
5.1 为什么要改 npm 镜像源
Node.js 装好只是万里长征第一步,真正天天打交道的是 npm。npm 默认的官方源在国外,在国内网络环境下拉包速度不稳定,一个小项目动辄几百上千个依赖包,用默认源下载可能等得怀疑人生。
解决办法是把 npm 的 registry 指向国内镜像源。目前国内维护得比较好的镜像包括淘宝镜像(npmmirror),同步频率高、稳定性好,大部分开发者都在用。换个源的命令很简单:
npm config set registry https://registry.npmmirror.com设置完之后可以验证一下当前源地址:
npm config get registry看到输出变成https://registry.npmmirror.com,就说明镜像源配置成功了。之后执行npm install,下载速度会有非常直观的提升。
也许有读者会担心镜像源不权威、有安全风险。这个担心可以放下:npmmirror 是定时从 npm 官方仓库全量同步的,包的内容和官方一致,只是下载节点在国内,速度更快。实际用了这么多年,稳定性是有保障的。
5.2 设置 npm 全局安装路径
npm 有两个核心路径:一个是全局安装路径,决定了npm install -g xxx安装的包放在哪里;另一个是全局缓存路径,存放下载的缓存文件。
默认情况下,全局包安装在 Node.js 安装目录下的node_modules文件夹里,缓存则在用户目录下的AppData\Local\npm-cache。Windows 下由于系统权限机制,有些项目写到默认全局路径时会被拦截,还容易出现"安装成功但命令找不到"的问题,所以建议把全局路径单独设置到一个自定义目录。
推荐做法是在某个磁盘根目录下建一个nodejs_global文件夹,然后执行:
npm config set prefix "D:\nodejs_global" npm config set cache "D:\nodejs_cache"这里的D:\nodejs_global和D:\nodejs_cache可以根据你的实际情况改成其他路径,但要注意两点:路径中不要含有中文和空格;文件夹最好提前手动创建好。
设置完执行npm config list,会输出当前的 npm 配置列表,确认prefix和cache都已经指向你设置的路径。
5.3 全局路径配好后,环境变量也要跟着改
这一步很容易被忽略:设置完 npm 全局路径后,还需要把这个路径加入环境变量 PATH,否则全局安装的工具命令还是找不到。
比如你执行:
npm install -g cnpm安装完成后,cnpm 的实际位置在D:\nodejs_global\cnpm(Windows 下是cnpm.cmd),如果这个目录不在 PATH 里,你在命令行输cnpm -v一样提示"不是内部或外部命令"。
操作方法和 3.3 节完全一样,在环境变量 Path 中把D:\nodejs_global加进去。记得保存后重新打开终端验证。
还有一个经验:在自定义全局路径时,尽量在命令行用npm config set prefix设置路径,而不是去改 npm 的配置文件,因为配置文件写错一个字母,可能导致所有 npm 命令失效,排查起来非常烦人。
5.4 验证全局包安装与运行
走一遍完整的验证流程:
npm install -g cnpm安装完成后,执行:
cnpm -v如果能输出版本信息,说明全局路径配置全部生效。以后安装任何全局工具(比如npm install -g nodemon、npm install -g serve),都可以直接用起来。
实际使用中,cnpm除了下载速度快,还能绕开某些包的编译安装问题,遇到 npm 装不上的原生模块时换 cnpm 试试往往是有效的解法。
6. 进阶体验:用 nvm 做多版本管理
6.1 为什么要用 nvm
很多项目有各自的 Node 版本要求:老项目可能锁定在 Node 14,新项目要求至少 Node 20,你不可能为了切换项目反复卸载重装。这时候就该轮到 nvm 出场了。
nvm 全称 Node Version Manager,是一个 Node 版本管理工具,核心能力有两个:一是安装任意版本的 Node.js;二是在多个版本之间随时切换。装完之后,再也不用因为版本问题把一个环境搞得乱七八糟了。
6.2 核心命令一览
如果你用的是 Linux 或 macOS,直接执行官方安装脚本安装 nvm,然后就能用它装 Node:
nvm install 20 # 安装 Node 20 最新版 nvm install 18 # 安装 Node 18 最新版 nvm use 20 # 切换到 Node 20 nvm ls # 查看本机已安装的所有版本 nvm alias default 20 # 设置默认版本,新开终端默认使用 Node 20Windows 用户要使用 nvm-windows,安装方式稍有不同,但核心命令类似。nvm-windows 的安装程序会自动帮你配置环境变量,这也是我推荐新手接触 nvm 的原因之一:它能减少手动配环境变量的出错概率。
6.3 nvm 和直接安装怎么选
这个问题我经常被问到。我的建议是:如果你是前端开发、后端 Node 开发,以后会长期和 Node 打交道,第一次就装 nvm 用 nvm 来管 Node;如果你只是临时跑个脚本、上个课交个作业,直接用安装包装一个 LTS 版本就够了。
nvm 有一点需要注意:它和已安装的 Node.js 不能同时使用同一套环境变量。装了 nvm 后,之前直接安装的 Node 路径不要放在 PATH 里,否则 nvm 切换版本会乱套。实际操作时,最好先把系统里旧的 Node.js 卸载掉,再装 nvm,从零开始管理。
7. 从踩坑中总结的 5 条实操建议
最后说说我在实际帮人装环境过程中反复遇到的几个问题,都是真实案例,提前看到能帮你少交很多学费。
第一个是安装路径问题。别把 Node.js 装到带空格或中文的路径里,也别自作聪明装到 U 盘或网盘同步目录。有些同步工具会把安装目录的文件"同步"到云端,导致本地文件被锁住或误删,到时候各种奇怪报错接踵而至。标准做法就是默认路径,或者直接放磁盘根目录下的英文文件夹。
第二个是不要混用 npm 和 cnpm 安装项目依赖。同一个项目里,有些人装一半用 npm、装一半用 cnpm,可能导致 node_modules 结构混乱,出现"版本对不上""包重复"这类诡异问题。一个项目尽量只用一种包管理器,推荐统一使用配置过镜像源的 npm 即可。
第三个是编辑器选对。装完 Node 后你需要一个文本编辑器来写代码,推荐 VS Code,它内置终端,打开终端直接就能用 node 命令,体验非常顺滑。注意,装完 VS Code 后别忘了重启一下,否则内置终端读不到最新环境变量。
第四个是别急着装全局包。很多教程会顺手让你安装一些全局工具,但实际开发中,很多常用工具(比如 Vite、Webpack 的 CLI)现在都推荐装到项目本地(npm install --save-dev),而不是全局装。原因很简单:项目依赖必须在 package.json 里声明并锁定版本,团队成员才能保证使用同样的环境。全局包只建议装那些独立使用、不跟具体项目绑定的工具,比如serve、nodemon这类,装多了反而是负担。
第五个是关于网络环境的判断。如果你在安装某些包时一直报 ECONNRESET 或 ETIMEDOUT 这类网络错误,先检查镜像源是否配置成功。大部分"装不上包"的问题,根因不是 npm 本身坏了,而是网络到官方源不通。换镜像源后再试,绝大多数情况就好了。
看完这篇教程,你应该已经把 Node.js 从"听说过"变成了"装好且跑通"的状态。照着上面的步骤操作,整个流程大约只需要十几分钟,而且每步都能验证对错,不是稀里糊涂装完拉倒。以后遇到任何开发工具的环境配置问题,也建议用同样的思路来处理:先确认版本选型,再安装,再验证,最后用最小示例跑通。这套方法在 Node.js 上适用,换到 Python、Java、Go 也照样管事。