如何在 Linux 系统上安装 Node.js:从入门到实践的全面指南

在当今的现代 Web 开发领域,JavaScript 已经无处不在,而 Node.js 则是构建高性能服务器端应用的基石。作为一名开发者,无论你是刚刚开始探索后端开发,还是正在寻找更高效的部署方式,掌握如何在 Linux 环境中正确安装和配置 Node.js 都是一项必备技能。我们可能会遇到各种不同的 Linux 发行版——无论是用户友好的 Ubuntu,还是专注于企业级的 CentOS。在这篇文章中,我们将不仅仅满足于“安装成功”,而是会深入探讨几种不同的安装方法,分析它们的优缺点,并分享一些在实际开发中非常有用的技巧和最佳实践,特别是结合 2026 年最新的技术趋势。

通过阅读本文,你将学会:

  • 如何使用系统自带的包管理器(APT 或 YUM)快速安装 Node.js。
  • 为什么使用 Node 版本管理器(NVM)对于开发者来说是一个更好的选择。
  • 如何管理多个 Node.js 版本并在它们之间无缝切换。
  • 验证安装是否成功的具体步骤,以及如何处理常见的安装问题。

在开始之前,让我们先确保你已经准备好了一切。

前置准备:确保环境就绪

为了让我们接下来的操作顺利进行,你需要准备以下环境:

  • 一台 Linux 系统:本文涵盖了基于 Debian/Ubuntu 的系统和基于 RedHat/CentOS 的系统。无论你使用的是哪种,大多数步骤的逻辑是相通的。
  • 终端访问权限:你需要打开终端,并拥有 sudo 权限。因为安装软件需要修改系统目录,这是 Linux 系统的基本安全机制。
  • 网络连接:我们需要从互联网下载软件包,请确保网络畅通。

> 专业提示:如果你正在寻找一个可靠的环境来托管你的 Node.js 应用,<a href="https://www.hostg.xyz/affc?offerid=545&affid=115172&urlid=4596">Hostinger 的 VPS 主机提供了一个经过优化的环境。它不仅有预配置的 Node.js 模板,还支持 OpenLiteSpeed,对于初学者和想要快速部署的开发者来说,这能节省大量的配置时间。

方法一:使用系统默认包管理器(最快速的方式)

对于大多数初学者或者只需要快速运行一个脚本的情况,使用 Linux 发行版自带的软件仓库是最简单的方法。这种方式就像是从手机的应用商店下载应用一样方便。不过,有一点我们需要注意:系统仓库中的 Node.js 版本往往不是最新的。

让我们先来看看如何在 Ubuntu 或 Debian 系统上操作。

在 Ubuntu/Debian 系统上的安装步骤

#### 步骤 1:更新软件包列表

在安装任何软件之前,这是一个良好的习惯。这可以确保我们下载到的是最新版本的软件元数据。

在终端中输入以下命令:

# 更新本地软件包索引,同步最新的可用版本
sudo apt update

#### 步骤 2:升级已安装的软件(可选但推荐)

为了保持系统的稳定性和安全性,我们可以顺手升级一下系统中已经安装的软件包。

# 升级所有已安装的软件包到最新版本
sudo apt upgrade

#### 步骤 3:安装 Node.js

现在,我们可以直接使用 apt 命令来安装 Node.js。Ubuntu 的默认仓库通常包含一个稳定的 Node.js 版本。

# 从 Ubuntu 默认仓库安装 Node.js
sudo apt install nodejs

#### 步骤 4:安装 npm(Node 包管理器)

通常情况下,INLINECODEbb5ab297 包并不总是包含最新的 INLINECODE95bd17b1(Node Package Manager)。为了确保我们能正常使用 JavaScript 生态系统的海量库,最好单独安装一下 npm

# 安装 npm 包管理器
sudo apt install npm

> 注意:在某些旧版本的 Ubuntu 中,系统可执行的命令可能被命名为 INLINECODE3a725226 而不是 INLINECODE354acd69。如果你遇到这种情况,可以手动创建一个链接:sudo ln -s /usr/bin/nodejs /usr/bin/node

#### 步骤 5:验证安装

安装完成后,我们最关心的是:它真的装好了吗?让我们检查一下版本号。

# 检查 Node.js 版本
node -v
# 或者使用 nodejs -v

# 检查 npm 版本
npm -v

如果终端输出了类似 INLINECODEec331e84 或 INLINECODE53f8c691 的版本号(具体取决于你的系统版本),恭喜你,安装成功了!

在 CentOS/RHEL 系统上的安装步骤

如果你使用的是 CentOS 或 RedHat Enterprise Linux,流程也非常相似,只是我们使用的包管理器变成了 INLINECODE02860b44 或 INLINECODE707d1452。

#### 步骤 1:更新系统

# 在 CentOS/RHEL 上更新软件包
sudo yum update

#### 步骤 2:安装 Node.js

与 Ubuntu 不同,CentOS 的默认仓库中可能没有 Node.js,或者版本非常老。我们通常会添加 NodeSource 的仓库来获取较新的版本(例如 Node.js 16.x 或 18.x)。

# 1. 设置 NodeSource 仓库(以安装 Node.js 16.x 为例)
curl -sL https://rpm.nodesource.com/setup_16.x | sudo bash -

# 2. 使用 yum 安装 Node.js
sudo yum install -y nodejs

> 为什么这样做? 直接使用 yum install nodejs 通常只能安装非常古老的版本(如 6.x),这无法满足现代开发的需求。通过添加 NodeSource 仓库,我们可以获得长期支持(LTS)的最新版本。

#### 步骤 3:验证安装

同样,我们可以使用 -v 参数来确认版本。

node -v
npm -v

方法二:使用 Node 版本管理器(NVM)(推荐给开发者)

如果你正在阅读这篇文章,你很可能是一名开发者。在日常工作中,我们经常会遇到这种情况:项目 A 需要 Node.js 14 版本,而项目 B 却依赖最新的 Node.js 18 特性。如果只用系统包管理器,切换版本将是一场噩梦。

这时候,NVM (Node Version Manager) 就成了我们的救星。它允许我们在同一台机器上安装并管理任意数量的 Node.js 版本,并随时在它们之间切换。这是目前前端和全栈开发者最主流的安装方式。

步骤 1:下载并安装 NVM

NVM 的安装脚本非常简洁。我们可以直接使用 INLINECODEb0e51484 或 INLINECODE7d79ffdc 来下载并执行安装脚本。

# 使用 curl 下载并执行安装脚本
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

步骤 2:激活 NVM

安装脚本执行完毕后,NVM 并不会立即生效,因为它需要更新你的 Shell 配置文件(通常是 INLINECODE7f9f3d6b 或 INLINECODEc6cb4def)。我们可以通过以下命令重新加载配置文件:

# 重新加载 bash 配置文件,使 NVM 命令生效
source ~/.bashrc

> 遇到问题? 如果你使用的是 Zsh,请将上面的命令替换为 source ~/.zshrc

步骤 3:使用 NVM 安装 Node.js

现在,NVM 已经准备就绪。我们可以用它来安装任何我们想要的 Node.js 版本。

# 安最新的长期支持版本 (LTS),这是最稳定的选择
nvm install --lts

# 或者,如果你想安装特定版本(例如 18.15.0)
# nvm install 18.15.0

这个过程可能需要几分钟,NVM 会自动从源码编译或下载预编译的二进制文件。

步骤 4:在版本之间切换

安装多个版本后,你可以轻松地在它们之间切换。

# 列出所有已安装的版本
nvm ls

# 切换到特定版本
nvm use 18

# 设置默认版本(每次打开新终端自动使用的版本)
nvm alias default 18

这种灵活性是系统包管理器无法比拟的,这也是为什么我们强烈建议开发者使用 NVM 的原因。

方法三:容器化部署与 AI 辅助开发环境(2026 前沿趋势)

随着我们步入 2026 年,本地环境的配置方式正在发生革命性的变化。作为一名经验丰富的开发者,我们必须承认,手动配置环境虽然能帮助我们理解底层原理,但在团队协作和快速迭代中,它往往效率低下。现在,让我们探讨两种更先进的现代化方案:Docker 容器化和由 AI 驱动的开发环境配置。

为什么我们需要容器化?

你可能遇到过这样的场景:在你的机器上运行完美的代码,到了同事的电脑或者生产服务器上就报错。这就是经典的“依赖地狱”。通过 Docker,我们可以将 Node.js 运行时、所有依赖包甚至操作系统层面打包在一起。这意味着,无论你在哪里运行这个容器,环境都是一模一样的。

实战:编写生产级 Dockerfile

让我们来看一个实际的例子,如何为 Node.js 应用编写一个优化过的 Dockerfile。在我们最近的一个项目中,我们需要部署一个高性能的 API 服务,这是我们的最佳实践:

# 1. 使用官方的 Node.js 镜像作为基础镜像
# 使用 alpine 版本可以极大地减小镜像体积(安全性也更高)
FROM node:20-alpine

# 2. 设置工作目录
# 这意味着接下来的命令都在 /app 目录下执行
WORKDIR /app

# 3. 复制依赖定义文件
# 只复制 package.json 和 package-lock.json 可以利用 Docker 缓存层
COPY package*.json ./

# 4. 安装依赖
# 使用 npm ci 而不是 npm install,因为它更快、更严格,适合生产环境
RUN npm ci --only=production

# 5. 复制源代码
# 将应用的所有源代码复制到容器中
COPY . .

# 6. 暴露端口
# 假设我们的应用运行在 3000 端口
EXPOSE 3000

# 7. 定义启动命令
CMD ["node", "app.js"]

> 专业提示:在 2026 年,我们越来越关注供应链安全。建议在构建镜像时使用非 root 用户运行 Node.js,这能有效防止潜在的安全漏洞。你可以在 Dockerfile 中添加 INLINECODEb819ae1b,并使用 INLINECODE1941d8de 来切换用户。

AI 辅助工作流

在这个时代,AI 不再仅仅是一个辅助工具,而是我们的结对编程伙伴。当我们配置 Node.js 环境时,现代 IDE(如 Cursor 或 Windsurf)可以大大简化我们的工作。

场景:

你刚安装好 Node.js,想要配置一个 TypeScript 环境。过去,我们需要去查阅文档,手动安装 INLINECODE24e54d49、INLINECODEe16467fc,然后编写 tsconfig.json。现在,我们可以直接与 AI 对话:

  • 意图表达:你在 IDE 的输入框中输入:“帮我初始化一个 Node.js + TypeScript 项目,包含 ESLint 配置。”
  • 自动执行:AI 会分析你的意图,直接在终端运行 npm init -y,安装必要的依赖,并生成符合现代标准的配置文件。
  • 代码生成:你甚至可以让 AI 为你生成一个基础的 HTTP 服务器代码,并包含类型定义。

这就是 “Vibe Coding”(氛围编程) 的核心理念:作为开发者,我们更多地扮演“架构师”和“审核者”的角色,而把繁琐的初始化工作交给 AI。当然,这要求我们要有深厚的 Node.js 基础,才能判断 AI 生成的配置是否真的符合生产标准。

进阶实践:确保一切正常工作

仅仅安装好 Node.js 是不够的。为了确保你的开发环境万无一失,让我们做一个小小的测试。

创建你的第一个 Web 服务器

让我们写一个简单的 HTTP 服务器,来验证 Node.js 的核心模块是否能正常工作。

  • 创建一个新文件 app.js
  •     touch app.js
        
  • 使用你喜欢的编辑器(如 INLINECODEa4f508fa 或 INLINECODE76ab4148)打开文件,并粘贴以下代码:
    // 引入 Node.js 内置的 http 模块
    const http = require(‘http‘);

    // 定义服务器监听的端口号
    const port = 3000;

    // 创建 HTTP 服务器
    const server = http.createServer((req, res) => {
      // 设置 HTTP 响应状态码为 200 (OK)
      res.statusCode = 200;
      // 设置响应头,告诉浏览器我们将返回纯文本
      res.setHeader(‘Content-Type‘, ‘text/plain‘);
      // 发送响应体 "Hello from Node.js!"
      res.end(‘Hello from Node.js! 这是你创建的第一个服务器。
‘);
    });

    // 让服务器开始监听指定端口
    server.listen(port, () => {
      // 在控制台打印启动成功的日志
      console.log(`服务器正在运行,访问 http://localhost:${port}/ 查看结果`);
    });
    
  • 运行这个脚本:
  •     node app.js
        
  • 打开浏览器,访问 http://localhost:3000。如果你看到了 "Hello from Node.js!" 的字样,那么恭喜你,你的 Node.js 环境已经完美配置好了!

处理 npm 速度慢的问题

在中国大陆或其他网络环境受限的地区,直接从官方 npm registry 下载包可能会非常慢。我们可以通过切换到淘宝镜像来解决这个痛点。

# 临时使用淘宝镜像下载 express 包
npm install express --registry=https://registry.npmmirror.com

# 或者,永久将默认源设置为淘宝镜像
npm config set registry https://registry.npmmirror.com

这是一个非常实用的技巧,能极大地提升你的开发效率。

性能监控与调试(生产级视角)

在 2026 年,仅仅写出能跑的代码是不够的,我们还需要关注代码的“可观测性”。当我们的 Node.js 应用在生产环境运行时,如何知道它是否健康?

让我们思考一下这个场景:你的服务器突然 CPU 飙升到 100%。在传统的做法中,我们可能会盲目地查看日志。但在现代开发工作流中,我们会利用 Node.js 内置的诊断工具。

bash
# 启动应用时开启性能分析标记
node --prof app.js
`n

这会生成一个日志文件,记录了函数调用的频率和耗时。你可以结合 Chrome DevTools 或者 AI 分析工具来解读这些文件,快速定位那个导致性能瓶颈的“死循环”函数。

总结与展望

在这篇文章中,我们涵盖了从基础到进阶的多种安装方法。

  • 如果你只是偶尔使用 Node.js,或者是在服务器上进行简单的部署,系统包管理器(APT/YUM) 是最省事的选择。
  • 如果你是一名职业开发者,需要在多个项目间切换,NVM 绝对是你的不二之选,它能让你彻底告别版本冲突的烦恼。
  • 如果你追求极致的隔离性和一致性,或者正在准备上云,Docker 容器化将是未来的标准。
  • 如果你想要提升开发效率,利用 AI 辅助工具 来辅助环境配置和代码编写是 2026 年的趋势。

安装 Node.js 只是万里长征的第一步。接下来,你可以开始探索 Express.js、Koa 或 NestJS 等强大的后端框架,构建属于你自己的 Web 应用。无论你选择哪种路径,现在你的 Linux 系统已经准备好运行代码了。去创造点什么吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/21119.html
点赞
0.00 平均评分 (0% 分数) - 0