帮助中心 >
  关于独立服务器 >
  CentOS 8服务器上怎么用NVM装指定版本的Node.js?
CentOS 8服务器上怎么用NVM装指定版本的Node.js?
时间 : 2025-12-24 17:01:46
编辑 : Jtti

CentOS 8服务器上部署Node.js应用时,不同的项目需要不同版本的Node.js。直接使用系统包管理器安装只能得到一个全局版本,切换起来非常麻烦。而NVM让你可以在一台服务器上轻松安装、切换和管理多个Node.js版本。下面是在CentOS 8上使用NVM安装特定版本Node.js的完整流程。

首先需要做好准备工作。由于CentOS 8已经停止维护,你需要确保系统的基本软件源能正常使用。接着,通过SSH连接到你的CentOS 8服务器,最好使用具有sudo权限的账户。在开始安装前,建议先更新一下系统现有的软件包,虽然CentOS 8的主要更新源已关闭,但一些基础更新仍然可用。运行下面这组命令来完成准备工作:

# 切换到root用户或使用sudo

sudo -i

# 更新现有软件包(可能会提示某些仓库不可用,这是正常现象)

dnf update -y

# 安装编译Node.js可能需要的基础依赖

dnf install -y curl wget git gcc-c++ make

这些依赖包很重要:`curl`用于下载安装脚本,`gcc-c++``make`是编译某些Node.js原生模块时必需的。完成准备工作后,就可以开始安装NVM了。NVM是“Node Version Manager”的缩写,它通过将不同版本的Node.js安装在你的用户目录下,来实现版本的隔离和切换。

安装NVM最安全的方式是通过官方提供的安装脚本。不要从非官方来源下载,以免安全风险。使用curl下载并运行脚本:

# 使用官方脚本安装NVM

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

这个命令会从GitHub下载安装脚本并自动执行。安装完成后,脚本会提示你需要重新加载shell配置或者重新登录。这是因为安装脚本在你的shell配置文件(`~/.bashrc`)中添加了初始化NVM的源代码。要让NVM立即在当前会话中生效,可以运行:

# 重新加载bash配置,使nvm命令立即生效

source ~/.bashrc

# 验证nvm是否安装成功

nvm --version

# 如果成功,会显示版本号,例如:0.39.0

如果看到版本号输出,说明NVM已经安装成功了。有时候可能会遇到`nvm: command not found`的错误,这通常是因为shell配置文件没有正确加载。你可以尝试完全退出SSH会话再重新登录,或者手动执行`source ~/.bash_profile``source ~/.zshrc`(如果你使用zsh)。

接下来是最关键的一步:使用NVM安装特定版本的Node.js。首先,你可以查看所有可安装的Node.js版本:

# 查看所有可安装的远程版本(列表很长)

nvm ls-remote

# 如果只需要查看LTS(长期支持)版本

nvm ls-remote --lts

假设你需要安装Node.js 16.14.0这个特定版本,安装命令非常简单:

# 安装特定版本的Node.js

nvm install 16.14.0

安装过程中,NVM会下载指定版本的Node.js源代码,编译并安装到`~/.nvm/versions/node/`目录下。安装完成后,这个版本会被自动设置为当前shell会话的“活动版本”。你可以通过以下命令验证:

# 验证当前活动的Node.js版本

node --version  # 应该显示:v16.14.0

npm --version   # 显示对应的npm版本

# 查看已安装的所有Node.js版本

nvm ls

`nvm ls`命令会列出所有已安装的版本,当前活动版本前面会有一个箭头标记。如果你还需要安装其他版本,比如最新的18.x LTS版本,重复安装命令即可:

# 再安装一个Node.js 18的LTS版本

nvm install 18 --lts

现在你的服务器上已经安装了多个Node.js版本。如何在它们之间切换呢?NVM提供了非常简单的切换命令:

# 切换到Node.js 16.14.0

nvm use 16.14.0

# 切换到Node.js 18.x

nvm use 18

# 设置默认版本(新开的shell会话会自动使用这个版本)

nvm alias default 18

`nvm alias default`命令特别有用,它设置了默认版本,这样每次新开终端会话时都会自动使用这个版本,而不用每次都手动切换。

使用NVM时,每个Node.js版本都有自己独立的全局npm包空间。这意味着当你切换Node.js版本时,之前安装的全局npm包可能不可用。如果你需要在多个版本间共享某些全局工具,可以考虑使用`nvm reinstall-packages`命令:

# 将某个版本的全局包复制到另一个版本

nvm install 20 --reinstall-packages-from=18

有时候你可能遇到安装失败的情况。常见的问题和解决方法包括:

1. 网络问题导致下载失败:可以尝试设置npm镜像源后再安装

# 临时使用淘宝镜像源安装

NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node nvm install 16.14.0

2. 编译失败:通常是缺少编译依赖

# 安装更多开发工具

dnf groupinstall -y "Development Tools"

dnf install -y kernel-headers kernel-devel

3. 权限问题:确保你是在自己的用户目录下安装,而不是使用root运行nvm命令

为了让Node.js应用在生产环境中运行得更稳定,这里还有几个建议。对于生产服务器,建议使用LTS版本,因为它们有更长的支持周期和更好的稳定性。你可以在服务器上为不同的应用创建不同的系统用户,每个用户用自己的NVM环境,这样能更好地隔离应用。考虑使用进程管理器如PM2来管理Node.js应用,它可以提供故障恢复、日志管理和监控功能:

# 全局安装PM2(在选定的Node.js版本下)

npm install -g pm2

# 使用PM2启动你的应用

pm2 start app.js

最后,定期维护也很重要。你可以定期查看已安装的版本,卸载不再需要的版本以节省磁盘空间:

# 卸载某个特定版本

nvm uninstall 14.17.0

# 查看nvm缓存,清理下载的源代码包

nvm cache dir

通过以上步骤,你应该能在CentOS 8服务器上顺利使用NVM管理多个Node.js版本了。这种方法的最大优势是灵活性和隔离性——每个项目都可以使用最适合自己的Node.js版本,而不会影响其他项目。虽然CentOS 8已经停止维护,但通过NVM安装Node.js仍然是一个可靠的选择,特别是当你需要保持与旧项目兼容性时。

售前客服
JTTI-Jean
JTTI-Ellis
JTTI-Eom
JTTI-Defl
JTTI-Selina
JTTI-Amano
JTTI-Coco
技术支持
JTTI-Noc
标题
电子邮件地址
类型
销售问题
销售问题
系统问题
售后问题
投诉与建议
市场合作
信息
验证码
提交