文档首页> 常见问题> 怎样在Linux云服务器上安装Node.js?

怎样在Linux云服务器上安装Node.js?

发布时间:2025-04-17 04:11       

手把手教你3种在Linux云服务器安装Node.js的方法

作为当下最流行的JavaScript运行时环境,Node.js在Web开发领域占据着重要地位。本文将详细介绍在Linux云服务器上安装Node.js的三种主流方法,包括通过包管理器、二进制文件和源码编译安装,帮助你快速搭建Node.js开发环境。

一、准备工作

在开始安装前,请确保:

  • 已购买Linux云服务器(推荐Ubuntu/CentOS)
  • 拥有SSH登录权限
  • 具备sudo或root权限
  • 系统已更新:sudo apt update && sudo apt upgrade -y(Ubuntu)或sudo yum update -y(CentOS)

二、方法1:使用NodeSource仓库安装(推荐)

步骤1:添加NodeSource仓库

对于Ubuntu/Debian系统:

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -

对于CentOS/RHEL系统:

curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -

步骤2:安装Node.js

Ubuntu/Debian:

sudo apt-get install -y nodejs

CentOS/RHEL:

sudo yum install -y nodejs

步骤3:验证安装

node -v
npm -v

此方法能自动安装npm且保持最新LTS版本,适合大多数生产环境。

三、方法2:使用NVM安装(多版本管理)

步骤1:安装NVM

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

安装完成后重启终端或运行:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

步骤2:安装特定Node版本

nvm install --lts  # 安装最新LTS版本
nvm install 18.16.0  # 安装指定版本

步骤3:使用特定版本

nvm use 18.16.0
nvm alias default 18.16.0  # 设为默认版本

NVM适合需要切换不同Node版本的开发环境,但生产环境建议使用固定版本。

四、方法3:二进制文件直接安装

步骤1:下载二进制包

wget https://nodejs.org/dist/v18.16.0/node-v18.16.0-linux-x64.tar.xz

步骤2:解压并安装

tar -xvf node-v18.16.0-linux-x64.tar.xz
sudo mv node-v18.16.0-linux-x64 /usr/local/nodejs
sudo ln -s /usr/local/nodejs/bin/node /usr/local/bin/node
sudo ln -s /usr/local/nodejs/bin/npm /usr/local/bin/npm

步骤3:配置环境变量

编辑~/.bashrc文件,添加:

export PATH=$PATH:/usr/local/nodejs/bin

然后执行:

source ~/.bashrc

此方法适合需要完全控制安装位置的高级用户。

五、常见问题解决

  • 权限问题: 在命令前加sudo或使用chown修改目录权限
  • 版本不匹配: 使用nvm管理多版本或检查PATH设置
  • npm安装慢: 更换国内镜像源npm config set registry https://registry.npmmirror.com
  • 依赖缺失: 安装build-essential(Ubuntu)或Development Tools(CentOS)

六、最佳实践建议

  1. 生产环境推荐使用LTS版本
  2. 使用pm2等进程管理器部署Node应用
  3. 定期检查安全更新
  4. 为Node.js应用配置适当的防火墙规则

通过以上三种方法,你可以根据实际需求选择最适合的方式在Linux云服务器上安装Node.js。对于大多数用户,我们推荐使用NodeSource仓库安装,简单高效;需要多版本管理的开发者可以选择NVM;而二进制安装则提供了最大的灵活性。