怎么在本地运行JavaScript?Node.js官方下载地址与安装指南
详细讲解如何在本地电脑运行JavaScript代码,涵盖Node.js官方正版下载渠道、LTS稳定版选型依据、Windows与macOS安装配置全步骤、终端环境变量验证以及交互式REPL与脚本运行实操指南。
.js 脚本文件批量执行。本文将完整介绍 Node.js 的官方下载渠道、LTS 稳定版本选型、各系统安装配置及验证测试流程。
一、为什么本地运行 JavaScript 需要 Node.js?
JavaScript 最初是网景公司为浏览器网页交互所打造的脚本语言。在网页中,代码之所以能够被解析并执行,是因为浏览器内置了专属的 JavaScript 引擎(如 Google Chrome 的 V8 引擎、Apple Safari 的 JavaScriptCore、Mozilla Firefox 的 SpiderMonkey)。与此同时,浏览器还为 JavaScript 注入了专用的接口,例如操作网页 DOM 树的 document 对象以及代表浏览器窗口的 window 全局对象。
由于浏览器的安全沙箱机制,网页内的 JavaScript 无法直接读写本地磁盘文件、无法获取操作系统底层进程信息,也无法作为系统守护进程监听端口。如果脱离浏览器在本地直接执行 JavaScript,就必须存在一个独立于浏览器的“宿主运行环境”,这正是 Node.js 所承担的职责。
Node.js 将 Google 经过高度优化的开源 V8 引擎单独剥离出来,结合跨平台异步 I/O 驱动库 libuv,使用 C/C++ 封装出了一套完整的操作系统级别能力接口。它允许 JavaScript 直接调用文件系统(fs)、网络通信(http / net)、路径处理(path)以及进程管理(process)模块,从而使 JavaScript 具备了与 Python、Java、Go 等通用后端语言相同的本地系统执行能力。
window 或 document 对象的。如果你在本地脚本中直接书写 document.getElementById(),程序会立即抛出 ReferenceError: document is not defined 异常。本地运行应当使用 console.log() 输出日志,或使用 fs 模块读写本地文件。
二、Node.js 官方下载地址与版本选择依据
获取 Node.js 安装包时,务必认准官方站点根域名,避免从第三方软件下载站或非官方镜像源获取可能被捆绑推广插件、甚至植入恶意脚本的安装包。
1. 官方正版下载渠道
- Node.js 全球官方英文站点:https://nodejs.org/
- Node.js 官方中文门户站:https://nodejs.org/zh-cn/
- 全平台安装包官方下载列表:https://nodejs.org/zh-cn/download
2. LTS 版本与 Current 版本的明确选型依据
打开 Node.js 官网首页时,页面通常会并列展示两个显眼的下载按钮:LTS(Long Term Support) 与 Current。初学者常因不清楚二者定位而产生困惑:
| 对比维度 | LTS(长期支持版,推荐) | Current(当前最新发布版) |
|---|---|---|
| 版本代号特征 | 偶数主版本号(如 v18、v20、v22 等) | 奇数或最新刚发布的版本(如 v21、v23 等) |
| 生命周期与支持 | 官方承诺 30 个月持续维护,定期修复安全漏洞 | 通常仅维护数月,后续会被下一代版本更替 |
| 生态兼容性 | 生态库兼容性极高,主流 npm 依赖皆以此为基准构建 | 新特性可能与老旧第三方依赖发生兼容性冲突 |
| 适用人群与场景 | 绝大多数学习者、商业项目开发、生产环境服务器 | 探索最新 ECMAScript 语法提案、参与 Node.js 内核实验 |
三、Windows 与 macOS 系统详细安装操作指南
Node.js 官方安装程序为各操作系统打包了图形化向导,整体安装流程与常规软件类似,但在安装选项细节上有两处至关重要的设置。
1. Windows 系统的安装步骤与关键选项
- 访问官网下载页面,点击 Windows Installer (.msi) 的 64-bit 下载链接,获取类似
node-v20.x.x-x64.msi的安装文件。 - 双击运行
.msi安装包,在欢迎页面点击 Next。 - 勾选许可协议(End-User License Agreement),点击 Next。
- 指定安装路径,建议保持默认路径
C:\Program Files odejs\,点击 Next。 - 自定义配置列表(Custom Setup):这一步至关重要,检查并确保 Add to PATH(添加到环境变量)处于启用状态(默认启用)。该选项会自动将 Node.js 及其包管理器 npm 的可执行路径写入 Windows 系统变量,确保后续在任意目录下都能直接呼出 node 命令。
- 原生编译依赖项(Tools for Native Modules):向导会提示是否自动安装编译原生 C/C++ 模块所需的 Python 和 Visual Studio 构建工具。常规 JavaScript 学习和脚本运行无需勾选此项。若勾选,安装程序会在后续后台通过 Chocolatey 自动下载数 GB 的构建套件,显著消耗磁盘空间与网络带宽。直接保持未勾选并点击 Next。
- 点击 Install 开始安装,弹出系统 UAC 权限请求时选择“是”,等待进度条跑完后点击 Finish。
2. macOS 系统的安装步骤
- 访问官网下载页面,根据你的 Mac 处理器型号选择下载安装包:
- Apple Silicon 芯片(M1 / M2 / M3 / M4 系列):下载 macOS Installer (.pkg) 的 ARM64 架构包(官网通常会自动探测并高亮提供)。
- Intel 架构芯片:下载对应的 x64 架构
.pkg文件。
- 双击下载好的
.pkg文件,启动 macOS 安装器。 - 跟随界面指引连续点击“继续”,并在软件许可条款页点击“同意”。
- 点击“安装”,在弹出的 macOS 系统鉴权弹窗中输入管理员密码或使用 Touch ID 指纹确认。
- 安装器会自动将 Node.js 及其随附的 npm 软链接部署至
/usr/local/bin目录下,完成后点击“关闭”并可将安装包移至废纸篓。
四、验证安装与常见环境变量报错排查
安装完成后,并不存在一个常规的桌面图标供双击打开,因为 Node.js 本质上是一个命令行工具。我们需要打开系统的终端控制台进行连通性验证。
1. 执行系统版本验证命令
根据操作系统打开对应的命令行窗口:
- Windows:按下快捷键
Win + R,输入cmd或powershell并回车。 - macOS:按下快捷键
Command + 空格唤起聚焦搜索,输入终端或Terminal回车。
在打开的黑底或白底终端窗口中,分别输入以下两条指令并回车验证:
# 检查 Node.js 核心运行时版本
node -v
# 检查随附的 npm 包管理器版本
npm -v
正常输出示例:如果安装成功,终端将清晰打印出具体的版本号字符串,例如:
v20.18.0
10.8.2
2. 常见报错排查:“'node' 不是内部或外部命令”
如果在执行 node -v 时,终端提示:
- Windows 提示:
'node' 不是内部或外部命令,也不是可运行的程序或批处理文件。 - macOS / Linux 提示:
zsh: command not found: node或bash: node: command not found
这通常由以下两种原因导致:
- 终端窗口未重新加载环境变量:安装完成前就已经打开的终端窗口不会自动同步最新的系统环境变量。解决方法:完全关闭当前的终端窗口,重新打开一个新的命令行窗口再次测试。
- PATH 环境变量遗漏:在 Windows 安装向导中误取消了
Add to PATH。手动修复方法:按下Win + S搜索“环境变量”,打开“编辑系统环境变量”窗口,点击右下角“环境变量”,在“系统变量”区域找到名为Path的条目并点击编辑,新建一行并填入 Node.js 实际安装路径(默认是C:\Program Files odejs\),保存后重新启动终端即可。
五、在本地运行 JavaScript 的两种核心方式
验证 Node.js 正常工作后,你就可以开始在本地运行 JavaScript 代码了。根据不同的使用场景,主要有两种执行方式:即时互动的 REPL 模式与工程常规的脚本文件模式。
方式一:REPL 交互式命令行环境(即时求值)
REPL 是 Read-Eval-Print Loop(读取-求值-输出-循环) 的缩写。它类似于现代浏览器的 DevTools Console(控制台),允许你输入单行或简短的 JavaScript 代码并立即查看运算结果,非常适合临时测试语法、验证正则表达式或查看算法输出。
操作步骤:
- 打开终端,直接输入单个单词
node并回车。此时命令行提示符会转变为大于号>,表示已进入 REPL 交互环境。 - 输入 JavaScript 表达式并回车:
> console.log("Hello from Local JavaScript!"); Hello from Local JavaScript! undefined > const scores = [85, 92, 78, 96]; undefined > scores.filter(s => s >= 90); [ 92, 96 ] - 退出 REPL 环境:当你测试完毕想要回到系统命令行时,有两种方式:
- 连续按下两次键盘快捷键
Ctrl + C。 - 输入
.exit命令并回车。
- 连续按下两次键盘快捷键
方式二:编写并执行本地 .js 脚本文件(推荐日常开发)
在实际项目开发中,代码通常需要长期持久化保存在文件中。以下通过一个具体示例演示如何创建并执行本地脚本文件:
步骤 1:新建工作目录与代码文件
在电脑任意位置(例如桌面或个人工作区)新建一个文件夹,使用任意代码编辑器(如 Visual Studio Code、Sublime Text,甚至系统自带的记事本)新建一个名为 app.js 的纯文本文件,写入以下内容:
// 引入 Node.js 官方内置的操作系统和路径核心模块
const os = require('os');
const path = require('path');
// 1. 常规控制台打印输出
console.log('=== JavaScript 本地脚本启动成功 ===');
// 2. 获取并展示底层操作系统信息
console.log(`当前操作系统平台: ${os.platform()} (${os.arch()})`);
console.log(`系统总物理内存: ${(os.totalmem() / 1024 / 1024 / 1024).toFixed(2)} GB`);
console.log(`可用空闲内存: ${(os.freemem() / 1024 / 1024 / 1024).toFixed(2)} GB`);
// 3. 计算并展示当前文件所在的本地绝对路径
console.log(`当前脚本运行目录: ${__dirname}`);
console.log(`当前执行文件绝对路径: ${path.resolve(__filename)}`);
// 4. 执行常规业务逻辑
const tasks = ['环境验证', '下载 Node.js', '终端配置', '运行脚本'];
console.log(`已规划的任务清单 (共 ${tasks.length} 项):`);
tasks.forEach((item, index) => {
console.log(` [${index + 1}] ${item}`);
});
console.log('=== 执行完毕,正在安全退出 ===');
步骤 2:在终端中切换目录并执行脚本
打开终端,使用 cd 命令切换至刚才存放 app.js 的文件夹所在路径。例如在 Windows 桌面下:
cd C:\Users\你的用户名\Desktop\my-project
node app.js
或者在 macOS / Linux 桌面下:
cd ~/Desktop/my-project
node app.js
预期终端输出示例:
=== JavaScript 本地脚本启动成功 ===
当前操作系统平台: darwin (arm64)
系统总物理内存: 16.00 GB
可用空闲内存: 4.85 GB
当前脚本运行目录: /Users/username/Desktop/my-project
当前执行文件绝对路径: /Users/username/Desktop/my-project/app.js
已规划的任务清单 (共 4 项):
[1] 环境验证
[2] 下载 Node.js
[3] 终端配置
[4] 运行脚本
=== 执行完毕,正在安全退出 ===
Node.js 会逐行读取并执行文件中的同步逻辑,执行完毕后释放资源并自动返回终端命令行提示符。
六、本地运行与浏览器运行的关键区别与开发注意事项
从浏览器切换到本地运行,初学者最容易在以下三个方面产生认知偏差,掌握这些要点能够有效避免在后续编码中遇到莫名其妙的报错:
1. 全局对象的演变:globalThis 与无 DOM/BOM
浏览器中的顶层全局对象是 window,而在 Node.js 中顶层全局对象是 global。现代 ECMAScript 规范引入了统一的标准关键字 globalThis,它在任何环境下都能指向顶层作用域。牢记在本地环境中切勿调用 alert()、prompt()、location 或 document,所有与用户交互的文本提示都应改用终端输出(如 console.log())或通过 Node.js 的 readline 模块获取命令行输入。
2. 模块化机制(CommonJS 与 ES Module)
Node.js 历史上原生采用 CommonJS 规范(使用 require() 导入,使用 module.exports 导出)。随着前端现代工程演进,如今 ECMAScript 官方的 ES Module(使用 import 与 export)也获得了完整支持。如果你希望在本地脚本中使用现代 import/export 语法,只需在 app.js 同级目录下创建一个 package.json 文件并加入 "type": "module" 声明,或者直接将脚本文件后缀名重命名为 .mjs 即可。
3. 脚本执行与常驻进程的生命周期差异
在浏览器中,只要网页标签页没有被关闭,页面内的 JavaScript 运行时就会一直常驻在内存中。而在本地通过 node script.js 运行时,Node.js 的事件循环机制(Event Loop)会在检测到当前没有待处理的定时器(setTimeout / setInterval)、没有正在等待的 I/O 操作或监听的网络端口时,自动终结进程并退出。如果你的脚本是一个 Web 服务器(例如使用 http.createServer().listen(3000)),进程则会持续挂起并常驻在后台监听来自本地端口的请求,需要手动按下 Ctrl + C 才能终止其运行。
Java和JavaScript应用场景对比:企业级后端 vs Web前端与Node.js
2026-11-04 16:42:01
JavaScript模块化开发入门:CommonJS与ES Module的区别
2026-11-03 23:31:34
怎么创建并运行第一个js文件
2026-11-03 21:49:02
JavaScript运行环境怎么搭建?Node.js官方下载与安装教程
2026-11-03 20:03:04
NestJS 集成 TypeORM 或 Prisma 实现数据库持久化操作
2026-11-03 18:56:13








