Linux系统安装Node.js及NPM包管理器教程

千敏吖_3843

千敏吖_3843

2026-05-19

721人浏览

原创

推荐使用nodesource仓库安装指定lts版本,因其更新及时、npm随nodejs一同安装且路径标准;次选nvm管理多版本,适合开发机;系统包管理器安装虽快但版本陈旧、命令名和路径不规范,易导致node/npm不可用。

linux系统安装node.js及npm包管理器教程

直接装 nodejs 和 npm 包通常能跑起来,但大概率不是你想要的版本,甚至 npm 命令根本不存在——这是 Linux 发行版包管理器的常见坑。

用系统包管理器安装(快但不推荐)

Ubuntu/Debian 上执行 sudo apt install nodejs npm 看似最省事,但 Ubuntu 22.04 默认装的是 nodejs v18.19.x + npm v8.19.x,而 Debian 12 更老(v18.16.x + v9.5.x)。CentOS/RHEL 7/8 的 nodejs 包可能连 npm 都不附带,得额外 sudo yum install npm 才行。

问题不止于旧:系统包常把 node 命令软链成 /usr/bin/nodejs,导致很多脚本直接报 command not found: node;npm 也常因权限或路径问题无法全局安装包。

  • Ubuntu 用户遇到 npm -v 报错,大概率是没装 npm 包(只装了 nodejs)
  • Debian 用户执行 node -v 提示“no such file”,检查 which node 是否输出空,再试 nodejs -v
  • 所有发行版都建议跳过这步,除非你明确需要系统级、只读、不升级的极简环境

用 NodeSource 仓库装指定 LTS 版本(推荐大多数场景)

这是平衡速度、稳定性和可控性的首选。NodeSource 提供 v18.x、v20.x、v22.x 等多个 LTS 分支,更新及时,且 npm 随 nodejs 一起安装,命令名和路径都标准。

以 Ubuntu/Debian 安装 v20.x LTS 为例:

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs

CentOS/RHEL 8+ 改用 dnf:

curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -
sudo dnf install -y nodejs

装完立刻验证:

  • node --version 应输出类似 v20.12.2
  • npm --version 应输出类似 10.2.4
  • which node 应返回 /usr/bin/node(不是 /usr/bin/nodejs)

注意:setup_lts.x 指向当前最新 LTS;若需固定 v20.12.x,改用 setup_20.x;换 v22.x 就用 setup_22.x。

linux-sysadmin
linux-sysadmin

Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...

下载

用 nvm 管理多版本(开发机/项目隔离必备)

当你同时维护多个项目,一个用 v18,一个要 v22,一个还在跑 v16,系统级安装就完全失效。这时必须上 nvm。

安装与基础使用:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc  # 或 ~/.zshrc(如果你用 zsh)
nvm install --lts
nvm use --lts

关键点:

  • nvm install --lts 装的是当前官方标记为 LTS 的最新版(2026 年 4 月是 v20.12.2)
  • nvm use 只对当前 shell 有效;加 nvm alias default 'lts/*' 才能让新终端默认启用
  • nvm ls 查本地已装版本,nvm ls-remote --lts 查可装的 LTS 列表
  • 别用 sudo 跑 nvm 命令——它专为用户级安装设计,sudo 会破坏路径和权限

手动解压二进制包(离线/定制路径/容器内适用)

适用于无外网、不能用 root、或需严格控制安装路径(如 /opt/node)的场景。官网下载的 .tar.xz 包自带 node 和 npm 二进制,无需编译。

步骤(以 v20.12.2 x64 为例):

wget https://nodejs.org/dist/v20.12.2/node-v20.12.2-linux-x64.tar.xz
sudo tar -xf node-v20.12.2-linux-x64.tar.xz -C /opt
sudo ln -s /opt/node-v20.12.2-linux-x64/bin/node /usr/local/bin/node
sudo ln -s /opt/node-v20.12.2-linux-x64/bin/npm /usr/local/bin/npm

验证前确保 /usr/local/bin 在 $PATH 中(通常默认在);若用非 root 用户解压到家目录,则软链改用 ln -s ~/node-v20.12.2-linux-x64/bin/node ~/bin/node,并确认 ~/bin 已加入 PATH。

这个方式最干净,但也最“裸”:没有自动更新机制,版本升级全靠手动删旧解新;npm 全局安装的包默认落在 ~/.npm-global,需额外配 npm config set prefix '~/.npm-global' 并加 ~/.npm-global/bin 到 PATH 才能直接调用。

真正容易被忽略的不是“怎么装”,而是装完后 npm 全局命令(比如 pm2、yarn)为什么找不到——八成是 npm 安装的 bin 目录没进 $PATH,或者用了系统包管理器却没意识到它把 node 和 npm 拆到了不同路径。

相关文章

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

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

下载

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

相关专题

更多
node.js调试
node.js调试

node.js调试可以使用console.log()输出调试信息、断点调试和第三方调试工具。详细介绍:1、console.log()输出调试信息,通过在代码中插入console.log()语句,开发人员可以在控制台输出变量的值、函数的执行结果等信息,以便观察代码的执行流程和状态;2、断点调试,可以在代码中设置断点,以便在特定位置暂停代码的执行,观察变量的值和执行流程等。

2023.09.19

9229

8

JavaScript 全栈开发基础(Node.js + 前端)
JavaScript 全栈开发基础(Node.js + 前端)

本专题系统介绍 JavaScript 在全栈开发中的核心知识结构,涵盖 Node.js 基础、Express/Koa 接口构建、前端交互设计、模块化与包管理、数据库连接、前后端数据通信与部署流程。通过完整项目示例,帮助学习者掌握从浏览器到服务器的一体化开发能力,实现真正意义上的全栈入门。

2025.11.26

394

14

Node.js后端开发与Express框架实践
Node.js后端开发与Express框架实践

本专题针对初中级 Node.js 开发者,系统讲解如何使用 Express 框架搭建高性能后端服务。内容包括路由设计、中间件开发、数据库集成、API 安全与异常处理,以及 RESTful API 的设计与优化。通过实际项目演示,帮助开发者快速掌握 Node.js 后端开发流程。

2026.02.10

741

17

JavaScript Node.js流处理与高效数据管道构建实践
JavaScript Node.js流处理与高效数据管道构建实践

本专题聚焦 Node.js 在大规模数据处理场景中的应用,系统讲解 Stream 流机制、背压控制、管道(Pipe)处理以及文件与网络数据流的高效传输方式。内容包括可读流、可写流、双工流与转换流的实现原理,并结合实际案例构建高性能数据处理管道,帮助开发者提升数据处理效率与系统吞吐能力。

2026.04.07

304

13

TypeScript Node.js 全栈工程化与Monorepo架构实践
TypeScript Node.js 全栈工程化与Monorepo架构实践

本专题围绕 TypeScript 在 Node.js 全栈开发中的工程化实践展开,系统讲解 Monorepo 架构设计、包管理策略、模块复用机制以及服务端与前端统一类型系统的构建方法。通过真实项目案例,帮助开发者提升大型全栈项目的可维护性与协作效率。

2026.06.16

498

8

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3730

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3233

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2313

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5550

7

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习