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

 更新时间:2018年01月19日 08:42:56   作者:whidy  
最近在学习node.js,所以下面这篇文章主要给大家介绍了关于如何解决Linux无法正常安装与卸载Node.js的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。

前言

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。学习Nodejs首先需要会安装环境。实际生产环境,Node.js一般部署于Linux环境。

自从买了VPS后就没闲着,总想要充分利用起来倒腾点东西。

于是决定安装nodejs搭建web服务器等,如今nodejs稳定版本已经更新到8.x了,因此我就试着装一下8.x吧,没想到又遇到了坑,一搞搞了好几天。自己稍微总结了一下,写成笔记,给有遇到相同坑的朋友们参考一下~

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

我的操作系统是CentOS6 64Bit的,我查阅了Nodejs官方升级文档(包含各种可支持的系统),针对我的系统需要分别执行以下几条命令:

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'

如果其他系统则可以参考文档中其他内容。

在这里我就遇到坑了(可能存在该情况较少,所以稍后具体解决放在文章最后来说)。上面第一条应该是静默指定使用8.x的资源,便于安装时采用这个而不是yum自己原来的远程仓,不知道这个解释对不对。

我反复试过了,命令明明提示请执行 sudo yum -y install nodejs 来安装nodejs8.x,却一直安装的是6.x,难道是依赖问题?找不出原因的我,没有办法只能找其他安装途径,于是发现了第二种安装办法。

手动安装Nodejs

获取最新的安装包,并进行解压缩安装,可能依赖Python2.7以上版本,且待我慢慢来说。

如果是仅手动安装Nodejs8.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应该是向下兼容的,所以我就没有去研究可能闲着蛋疼才会去研究如果保存多个版本nodejs,当然在新版中可能会存在部分旧的功能废除而造成异常,虽然一般来说升级利大于弊,不过还是要考虑老项目环境是否要升级!如果你是闲着蛋疼的人,必有理由说服我,请在下方留言。差点跑题,删除命令简直是太简单了。

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

参考资料

总结

所以呢,其实就是应该遇到版本不对的情况就尝试清除缓存,再用官方命令进行安装就好了~

我想既然是Yum仓库缓存的问题,除了Nodejs,别的包也许也会有类似情况吧,如果也发现了选择了需要的版本后依然装的是旧版的,又和依赖没什么关系,就试试清除缓存吧 :)

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

相关文章

  • NodeJS有难度的面试题(能答对几个)

    NodeJS有难度的面试题(能答对几个)

    这篇文章主要介绍了NodeJS有难度的面试题(能答对几个),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • NodeJs内存占用过高的排查实战记录

    NodeJs内存占用过高的排查实战记录

    这篇文章主要给大家介绍了关于NodeJs内存占用过高的排查实战记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Node.js zlib模块之属性、方法及使用示例详解

    Node.js zlib模块之属性、方法及使用示例详解

    zlib模块是Node.js中用于数据压缩和解压缩的强大工具,它提供了多种压缩算法和灵活的使用方式,包括Deflate、Gzip等,广泛用于网络传输和文件存储中以减少数据大小,提高性能,本文给大家介绍Node.js zlib模块属性、方法及使用示例,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • Node.js中文件系统fs模块的使用及常用接口

    Node.js中文件系统fs模块的使用及常用接口

    fs是filesystem的缩写,该模块提供本地文件的读写能力,基本上是POSIX文件操作命令的简单包装。这篇文章主要介绍了Node.js中的文件系统fs模块的使用,需要的朋友可以参考下
    2020-03-03
  • Node.js从字符串生成文件流的实现方法

    Node.js从字符串生成文件流的实现方法

    这篇文章主要介绍了Node.js从字符串生成文件流的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • node.js中 stream使用教程

    node.js中 stream使用教程

    Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出)。
    2016-08-08
  • Puppet的一些技巧

    Puppet的一些技巧

    puppet这个工具真的很神奇,先不说商业版有哪些黑科技,单是开源版本就有很多可能让你摸不着头脑的地方,下面来列举一下puppet是怎么查找puppet server的
    2018-09-09
  • Node学习笔记:Node.js安装及环境配置 史诗级详细版【含测试与镜像说明】

    Node学习笔记:Node.js安装及环境配置 史诗级详细版【含测试与镜像说明】

    这篇文章主要介绍了Node学习笔记之Node.js安装及环境配置方法,详细分析了node.js的基本安装、配置、环境变量设置、以及环境测试与镜像使用说明,需要的朋友可以参考下
    2023-05-05
  • 使用 Node.js 对文本内容分词和关键词抽取

    使用 Node.js 对文本内容分词和关键词抽取

    这篇文章主要介绍了使用 Node.js 对文本内容分词和关键词抽取,需要的朋友可以参考下
    2017-05-05
  • 详解如何使用PM2将Node.js的集群变得更加容易

    详解如何使用PM2将Node.js的集群变得更加容易

    本篇文章主要介绍了详解如何使用PM2将Node.js的集群变得更加容易,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11

最新评论