Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,允许开发者使用 JavaScript 编写服务器端应用程序,而 npm(Node Package Manager)是 Node.js 的默认包管理器,用于管理项目的依赖关系、发布和共享代码,在 CentOS 系统上部署 Node.js 和 npm 是许多开发者和运维人员的常见需求,本文将详细介绍在 CentOS 上安装、配置和使用 Node.js 及 npm 的步骤,以及常见问题的解决方案。

安装 Node.js 和 npm 的准备工作
在开始安装之前,确保你的 CentOS 系统已经更新到最新版本,打开终端,运行以下命令更新系统包:
sudo yum update -y
建议安装一些开发工具和编译依赖,以便后续安装 Node.js 时不会遇到依赖问题:
sudo yum groupinstall "Development Tools" -y sudo yum install gcc-c++ make -y
使用源码编译安装 Node.js
虽然可以通过包管理器直接安装 Node.js,但为了获得最新版本,推荐从源码编译安装,访问 Node.js 官网下载最新的源码包,以 Node.js 18.x 为例:
curl -sL https://nodejs.org/dist/v18.17.0/node-v18.17.0.tar.gz | tar -xz cd node-v18.17.0
运行以下命令配置、编译和安装:
./configure make -j$(nproc) sudo make install
安装完成后,验证 Node.js 和 npm 的版本:
node -v npm -v
使用 NodeSource 仓库安装 Node.js
另一种更简单的方法是使用 NodeSource 提供的仓库安装 Node.js,添加 NodeSource 的 RPM 仓库:
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
使用 yum 安装 Node.js:

sudo yum install -y nodejs
这种方法的优势是可以轻松升级 Node.js 版本,只需运行 sudo yum update -y 即可。
配置 npm 全局模块路径
默认情况下,npm 全局安装的模块会放在 /usr/local/lib/node_modules 目录下,为了避免权限问题,可以配置 npm 将全局模块安装在用户目录下:
mkdir ~/.npm-global npm config set prefix '~/.npm-global'
添加到 ~/.bashrc 文件中:
export PATH=~/.npm-global/bin:$PATH
运行 source ~/.bashrc 使配置生效,之后,可以通过 npm install -g <package-name> 安装全局模块。
使用 nvm 管理 Node.js 版本
如果你需要同时管理多个 Node.js 版本,可以使用 nvm(Node Version Manager),安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
运行以下命令使 nvm 生效:
source ~/.bashrc
安装所需的 Node.js 版本:

nvm install 18 nvm use 18
可以通过 nvm list 查看已安装的版本,并通过 nvm alias default 18 设置默认版本。
常见问题与解决方案
在 CentOS 上使用 Node.js 和 npm 时,可能会遇到一些常见问题,安装全局模块时出现权限错误,可以通过配置 npm 前缀解决,某些 Node.js 模块可能需要额外的系统依赖,可以通过 yum 安装所需的库。
相关问答 FAQs
如何在 CentOS 上卸载 Node.js 和 npm?
如果通过源码编译安装,可以使用 make uninstall 命令,如果通过 NodeSource 仓库安装,运行 sudo yum remove nodejs,手动删除 Node.js 相关目录(如 /usr/local/bin/node 和 /usr/local/lib/node_modules)也可以完全卸载。
npm 安装模块速度慢怎么办?
可以通过配置 npm 使用国内镜像源来加速安装,运行以下命令设置淘宝镜像源:
npm config set registry https://registry.npmmirror.com
之后,所有 npm 安装操作都会从国内镜像源下载,显著提高速度。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复