解决Linux无法正常安装与卸载Node.js的方法

作者:岩茶时间:2026-10-22 11:54:32浏览:94

本文详细记录了在CentOS系统中安装Node.js时遇到的版本错误问题。通过官方仓库安装时,即使指定8.x源仍被强制安装6.x版本。文章提供了两种安装方式:官方仓库安装与手动编译安装,并深入分析了因Yum缓存导致的版本冲突原因。最后给出了清除缓存、正确卸载及重新安装Node.js的完整命令步骤,帮助开发者解决环境部署难题。

前言

前言

Node.js是一个基于Google V8引擎的事件驱动I/O服务端JavaScript运行环境,其执行速度极快且性能优异。在进行Node.js开发之前,首要任务是搭建好运行环境。在实际的生产环境中,Node.js通常部署在Linux操作系统下。

自购买VPS以来,为了充分利用服务器资源,我一直在尝试部署各种应用。

为此,我决定安装Node.js以搭建Web服务器。目前Node.js的稳定版本已更新至8.x系列,因此我尝试安装该版本,却意外遇到了问题,耗时数日才解决。现将此过程总结为笔记,供遇到相同问题的朋友参考。

官方推荐安装方法

官方推荐安装方法(对应版本仓安装Nodejs)

我的操作系统为CentOS 6 64位版本。查阅Node.js官方升级文档(涵盖多种支持系统)后,针对我的系统需依次执行以下命令:


curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum -y install nodejs

此外,你可能还需要通过以下命令额外安装构建工具:


sudo yum install gcc-c++ make
# or: sudo yum groupinstall 'Development Tools'

若使用其他Linux系统,可参考文档中的其他相关内容。

在此步骤中我遇到了坑(这种情况可能较少见,具体解决方案将在文章末尾详述)。上述第一条命令旨在静默指定使用8.x版本的资源库,以便安装时采用该源而非yum默认的远程仓库,不知此解释是否准确。

我反复尝试后发现,尽管命令提示执行 `sudo yum -y install nodejs` 来安装Node.js 8.x,但实际安装的却是6.x版本。这是否由依赖问题引起?在无法查明原因的情况下,我只能寻找其他安装途径,从而发现了第二种安装方法。

手动安装Nodejs

手动安装Nodejs

获取最新安装包并解压安装,该过程可能依赖Python 2.7或更高版本,具体细节稍后说明。

若仅需手动安装Node.js 8.x,请执行以下命令:


yum install gcc-c++ openssl-devel
cd /usr/local/src
wget http://nodejs.org/dist/v8.9.4/node-v8.9.4.tar.gz
tar zxvf node-v8.9.4.tar.gz
(cd into extracted folder: ex "cd node-v8.9.4.tar.gz")
./configure
make
make install

若顺利,过程可能耗时较长,完成后提示安装成功。此时可执行


node -v

来验证是否已安装8.x版本。若安装成功,则安装部分基本完成。若未成功且涉及Python相关问题,请查阅《Linux下Python安装升级心得》(草稿中)。

删除nodejs

删除nodejs

接下来讨论卸载操作。由于已安装低版本且需升级,必须先删除旧版Node.js。Node.js通常向下兼容,因此未深入研究保存多版本的方法(这或许是多此一举)。当然,新版可能废除部分旧功能导致异常,尽管升级通常利大于弊,但仍需考虑老项目环境是否适配!若你对此感兴趣,请在下方留言。差点跑题,删除命令实际上非常简单。


sudo yum remove nodejs

随后按提示输入y并回车,删除过程很快完成。一切删除操作都令人兴奋……

问题排查与解决

实际上,我的安装过程远非如此轻松,否则无需折腾数日。问题主要出在版本错误和Python升级上。关于版本问题,查阅大量资料后发现,原因为yum缓存导致。

若遇到类似问题,请尝试以下命令:


rm -f /etc/yum.repos.d/nodesource-el.repo
yum clean all
yum -y remove nodejs
yum -y install nodejs

参考资料

参考资料

  • Nodejs官方文档,通过包管理安装Nodejs
  • Centos下手动安装Nodejs的方法
  • 无法在Yum仓下安装正确的Nodejs版本(和刚才示例的代码类似,都是清除缓存,不过对我无效)
  • CentOS下使用nodejs7.x的包进行安装却安装成了6.9.5(针对我的有效方案)
  • 如何通过Linux命令删除Nodejs

总结

总结

综上所述,遇到版本不对的情况时,应尝试清除缓存,再使用官方命令进行安装。

既然Yum仓库缓存是问题根源,除了Node.js,其他软件包可能也存在类似情况。若发现选择所需版本后仍安装旧版,且与依赖无关,不妨尝试清除缓存。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对本站的支持。

作者最新文章