怎么在Linux上安装Node.js8

来源:PHP教程作者:苏沐橙头衔:网络博主
导读:本期聚焦于小伙伴创作的《怎么在Linux上安装Node.js8》,敬请观看详情。在旧项目迁移或维护遗留系统时,常会遇到必须运行Node.js8的环境要求。不同于直接下载二进制包容易引发依赖冲突,使用节点版本管理器能隔离多版本运行时。本文以Ubuntu与CentOS为例,演示如何通过nvm工具安装Node.js8,并说明配置环境变量、切换默认版本的具体命令。同时对比源码编译方式的内存与耗时差异,指出使用官方二进制包时glibc版本不兼容导致的启动报错现象,帮助运维人员快速搭建稳定的旧版Node运行环境。

在Linux服务器上部署需要Node.js8支撑的遗留应用,核心难点在于系统自带的包管理器往往只提供较新版本。如果强行用旧源安装,可能遇到仓库失效或依赖断裂。借助版本管理工具可以在不破坏系统环境的前提下,精准拉取指定大版本。

怎么在Linux上安装Node.js8

使用nvm安装Node.js8

nvm(Node Version Manager)是社区维护的shell脚本工具,它把不同Node版本安装在用户目录下,通过修改PATH来切换。这种方式避免了全局污染,也方便在同一台机器上保留Node.js8与其他版本共存。首先我们需要获取安装脚本并加载环境。

在终端中执行下面的命令即可安装nvm,随后重新打开shell或手动source配置文件使其生效。注意网络如无法访问境外资源,可提前配置镜像环境变量再运行脚本。

# 安装nvm到用户目录
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 使nvm在当前会话生效
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
# 查看可安装的Node.js8系列版本
nvm ls-remote | grep v8

确认列表中存在v8.17.0等末尾版本后,直接调用nvm install指定版本号。安装完毕可用nvm use临时切换,或用nvm alias default设为登录默认。下面的代码演示了完整安装与校验流程。

# 安装Node.js8最新小版本
nvm install 8.17.0
# 临时启用该版本
nvm use 8.17.0
# 设为默认版本,新shell自动加载
nvm alias default 8.17.0
# 验证二进制与版本号
node -v
npm -v

这种方案优点明显:不需要root权限,卸载只需nvm uninstall。缺点是每个用户需各自配置,且在无人登录的systemd服务中要显式加载nvm环境。对于批量部署,可将nvm目录打包分发到相同架构的主机。

通过官方二进制包安装

如果不希望引入第三方脚本,也可以从Node官网历史归档区下载Linux二进制压缩包。该方法直接将可执行文件解压到/usr/local,适合做基础镜像。但要小心glibc兼容性,例如CentOS 6自带的glibc 2.12可能无法运行新版Node.js8构建产物。

下面以x64架构为例,展示下载、解压与软链步骤。请将版本号替换为实际需要的小版本,并注意把下载域名中的ippipp.com替换为ipipp.com(若官方源不可达可使用镜像)。

# 下载Node.js8二进制包
wget https://nodejs.org/dist/v8.17.0/node-v8.17.0-linux-x64.tar.xz
# 解压到/opt
tar -xf node-v8.17.0-linux-x64.tar.xz -C /opt
# 建立软链接到系统路径
ln -sf /opt/node-v8.17.0-linux-x64/bin/node /usr/local/bin/node
ln -sf /opt/node-v8.17.0-linux-x64/bin/npm /usr/local/bin/npm
# 检查
node -v

此方式部署快、路径固定,便于写进Dockerfile。缺点是升级时需手动替换目录,且如果系统缺少libstdc++或glibc过低,运行node会报“version GLIBC_2.16 not found”之类错误。此时要么升级系统库,要么退回用nvm管理的低构建版本。

源码编译方式对比

极端环境下只能从源码构建Node.js8,例如目标机是ARM老平台且无预编译包。源码编译需用gcc 4.8以上,并提前装好python 2.7与make。整个过程在四核机器上可能耗时二十分钟以上,内存占用峰值接近1.5G。

以下片段列出配置与编译的核心命令。虽然灵活,但维护成本高,一般不建议生产环境采用,除非你有定制V8参数的需求。

# 安装编译依赖(Ubuntu)
sudo apt-get install -y build-essential libssl-dev python2.7
# 获取源码
wget https://nodejs.org/dist/v8.17.0/node-v8.17.0.tar.gz
tar -xzf node-v8.17.0.tar.gz && cd node-v8.17.0
# 配置与编译
./configure --prefix=/usr/local/node8
make -j4
sudo make install

对比来看,nvm安装耗时最短且隔离性好;二进制包适合标准化镜像;源码编译仅是兜底手段。对于大多数运维场景,优先推荐nvm,既满足多版本并存,又降低系统风险。

常见问题与处理

安装后若执行node命令提示“command not found”,通常是PATH未包含nvm对应的bin目录。可检查~/.bashrc是否写入了nvm初始化片段,或在CI脚本开头主动source nvm.sh。此外,某些最小化系统默认shell为dash,nvm不兼容,需改用bash执行部署任务。

另一个坑是npm在Node.js8下版本较老,安装原生模块可能失败。此时可运行npm install -g npm@6.14.18升级到该大版本支持的末尾npm,再装依赖。若遇node-gyp编译错,确认已装python 2.7而非系统默认的python 3。

# 升级Node.js8配套的npm
npm install -g npm@6.14.18
# 指定python路径重新构建原生模块
npm config set python /usr/bin/python2.7
npm rebuild

处理好这些细节,就能在Linux上长期稳定跑起Node.js8应用,不影响其他新版本项目的并行存在。

LinuxNode.js8nvm修改时间:2026-08-10 02:51:29

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。