操作系统为centos6.10,在安装nodejs最新版本的时候报错,依赖glibc的高版本和gcc高版本,还要安装python2.7,操作系统上已经跑了很多应用,升级gcc风险过大,采用相对保守的方法:
安装npm并安装n,然后通过n这个工具安装低版本node(比默认yum安装的版本要高)

root@server1 [/home/yt_opsadmin/node-v12.13.0-linux-x64]# bin/node -v
bin/node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by bin/node)
bin/node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by bin/node)
bin/node: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by bin/node)
bin/node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by bin/node)
bin/node: /lib64/libc.so.6: version `GLIBC_2.16' not found (required by bin/node)
bin/node: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by bin/node)
bin/node: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by bin/node)

1.安装epel的yum源
# yum install -y epel-release

2.安装低版本的nodejs和npm

yum install nodejs npm -y

root@server1 [//home/mindmaster0807]# npm --version
1.3.6
root@server1 [//home/mindmaster0807]# node --version
v0.10.48

3.安装n这个管理nodejs的工具
# 需要关闭ssl否则会报错
npm config set strict-ssl false
npm install -g n

# 使用n 这个工具安装node8.2.1版本
n 8.2.1

# 默认版本
root@server1 [/home/yt_opsadmin]# node -v
v0.10.48

# 查看n管理下的所有node版本
root@server1 [/home/mindmaster0807/_coopSocket]# n ls
node/8.2.1
# 查看8.2.1版本所在安装目录
root@server1 [/home/mindmaster0807/_coopSocket]# n which 8.2.1
/usr/local/n/versions/node/8.2.1/bin/node

# 使用软链和替换默认node版本为新版本
root@server1 [/home/yt_opsadmin]# mv /usr/bin/node /usr/bin/node.old
root@server1 [/home/yt_opsadmin]# mv /usr/local/bin/node /usr/local/bin/node.old
root@server1 [/home/yt_opsadmin]# cp /usr/local/n/versions/node/8.2.1/bin/node /usr/bin
root@server1 [/home/yt_opsadmin]# cp /usr/local/n/versions/node/8.2.1/bin/node /usr/local/bin/
root@server1 [/home/yt_opsadmin]# node -v
v8.2.1

# 替换 npm 为新版本
root@server1 [/home/yt_opsadmin]# npm -v
1.3.6

root@server1 [/home/yt_opsadmin]# mv /usr/bin/npm /usr/bin/npm.old
root@server1 [/home/yt_opsadmin]# mv /usr/local/bin/npm /usr/local/bin/npm.old
root@server1 [/home/yt_opsadmin]# ln -s /usr/local/n/versions/node/8.2.1/bin/npm /usr/bin/npm
root@server1 [/home/yt_opsadmin]# ln -s /usr/local/n/versions/node/8.2.1/bin/npm /usr/local/bin/npm
root@server1 [/home/yt_opsadmin]# /usr/local/n/versions/node/8.2.1/bin/npm -v
5.3.0

升级glibc到2.17

1.原先的系统glibc库的版本是2.12,需要升级到2.17版本
root@server1 [/home/yt_opsadmin/node-v12.13.0-linux-x64]# strings /lib64/libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE

wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz

2.编译
# 编译时间较长,开启screen避免编译中断
# screen -S glibc
# tar -xf glibc-2.17.tar.gz
# cd glibc-2.17
# mkdir build
# cd build
# 预编译
# ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
# 多线程编译,加快编译速度
# make -j 4
# make  install
[root@:~]# strings /lib64/libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_PRIVATE

[root@spyzie-DB1:~]# ldd --version
ldd (GNU libc) 2.17
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

centos6.10环境安装nodejs8.2.1的更多相关文章

  1. Windows 10环境安装VIM代码补全插件YouCompleteMe

    Windows 10环境安装VIM代码补全插件YouCompleteMe 折腾一周也没搞定Windows下安装VIM代码补全插件YouCompleteMe,今天在家折腾一天总算搞定了.关键问题是在于P ...

  2. CentOS6.10下安装MongoDB和Redis

    安装mongodb 首先考虑离线安装,但是安装过程中在启动服务的时候出现了问题,centOS出于稳定原因考虑,系统自带的glibc版本过低, 而编译需要使用较高版本,这个问题我查询了一下,需要升级gl ...

  3. CentOS6.8环境安装oracle 11G

    本节所讲内容: oracle11g基础环境配置 数据库的三种安装方式(图形.静默.克隆) http://db-engines.com REDHAT6.5安装oracle11.2.4 ORACLE11G ...

  4. VM12及CentOS-6.10的安装

    VM12的安装破解步骤 1:打开VMware 12安装界面后,点击[下一步]2:勾选[我接受许可协议中的条款]安装VMware Workstation 12 ,然后点击[下一步]3:修改默认安装路径, ...

  5. Centos6.10编译安装php-7.1.12并安装redis模块

    1.服务器初始化 yum update -yyum install epel-release -yyum install gcc gcc-c++ wget lsof lrzsz telnet -y 2 ...

  6. Django1.10环境安装

    在Ubuntu14上 一 安装脚本 wget https://github.com/django/django/archive/master.tar.gz apt-get install python ...

  7. centos6.5环境 安装php5.5.30的redis扩展 介绍

    1.下载软件包 wget http://pecl.php.net/get/redis-2.2.5.tgz       2.解压 tar zxvf redis-2.2.5.tgz        3.进入 ...

  8. CentOS6.5 环境安装配置

    一.GO环境配置 1.运行命令进入/usr/local/src目录:cd /usr/local/src 2.下载安装包:运行wget --no-check-certificate https://st ...

  9. centos6.10环境下启动多个redis实例

    # 启动redis端口6379的配置 [root@newcms:/usr/local/nginx/conf]# /etc/redis.conf daemonize yes pidfile /usr/l ...

随机推荐

  1. mongodb移除分片和添加分片(转)

    首先我们要移除的分片之后再次添加此分片时会出现添加失败的情况,需要在添加的分片上登录进行删除此分片之前数据库的历史数据比如testdb,删除分片上的数据库之后就可重新添加此分片到mongos中 1.执 ...

  2. HTML常用全部代码--第一部分--HTML/CSS( 小伙伴要牢记😁😁😁😁 )

    <一>html代码大全:结构性定义 (1) 文件类型<HTML></HTML> (放在档案的开头与结尾) (2) 文件主题<TITLE></TIT ...

  3. Python+Selenium+Appium对APP进行UI自动化测试

    1. 安装Python3.7版本 pythonjava的JDK java -version javac nodejs node --versionappium 若nodejs安装完毕,使用npm安装a ...

  4. zookeeper题目

    1. ZooKeeper是什么?2. ZooKeeper提供了什么?3. Zookeeper文件系统4. ZAB协议?5. 四种类型的数据节点 Znode6. Zookeeper Watcher 机制 ...

  5. 小程序页面收录 sitemap

    微信现已开放小程序内搜索,你的小程序页面将可能展示在微信搜索等多个公开场景中.当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引. 若小程序中存在不适合展示信息如用户个人信息.商 ...

  6. 后台返回的Json为null的字段不显示的方法

    如果引入的是谷歌的gson的话,需要引入依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> ...

  7. qt事件机制(转)

    学习了一段时间的Qt之后,发现Qt的事件机制和其他语言的机制有些不同.Qt除了能够通过信号和槽机制来实现一些Action动作之外,还可以用对象所带的事件,或者用户自定义的事件来实现对象的一些行为处理. ...

  8. SOA 架构与微服务架构的区别

    注重重用,微服务注重重写 SOA 的主要目的是为了企业各个系统更加容易地融合在一起. 微服务通常由重写一个模块开始.要把整个巨石型的应用重写是有很大的风险的,也不一定必要.我们向微服务迁移的时候通常从 ...

  9. 利用Python绘制一个正方形螺旋线

    1 安装turtle Python2安装命令: pip install turtule Python3安装命令: pip3 install turtle 因为turtle库主要是在Python2中使用 ...

  10. nginx和ftp搭建图片服务器

    一.需要的组件 图片服务器两个服务: Nginx(图片访问): 1.http服务:可以使用nginx做静态资源服务器.也可以使用apache.推荐使用nginx,效率更高. 2.反向代理 实现 负载均 ...