操作系统为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. QQ推广工具

    目前比较简单易用的QQ推广工具有:一键加群.在线聊天 一.一键加群 1.官网链接 http://qun.qq.com/join.html 2.使用 1登录自己的QQ 2创建一个想要作为推广的群 3选择 ...

  2. 【转】golang-defer坑的本质

    本文节选自https://tiancaiamao.gitbooks.io/go-internals/content/zh/03.4.html 作者的分析非常透彻,从问题本质分析,就不会对defer产生 ...

  3. 【HICP Gauss】数据库 数据库管理(文件 用户管理 系统权限 对象权限 profile)-7

    数据库运行 依赖不同类型的文件 ,数据文件 参数文件 控制文件 redo日志文件 运行日志文件 审计日志文件等 数据文件 就是表空间文件 存储数据库的数据文件 参数文件 用户修改的配置信息 控制文件 ...

  4. InitContainer

    InitContainer 初始化容器 在Pod中,容器是共享存储资源和网络资源的,所以Init Container容器产生的数据是可以被其他容器作用到的.初始化容器有点类似于postStart 钩子 ...

  5. spring boot 过滤器、拦截器的区别与使用

    原文:https://blog.csdn.net/heweimingming/article/details/79993591 拦截器与过滤器的区别: 1.过滤器和拦截器触发时机不一样,过滤器是在请求 ...

  6. javascript一个在网页上画线的库

    文章;安利一个绘制指引线的JS库leader-line 一个在网页上划线的库感觉很不错.

  7. 微信小程序~tabBar和navigator一起使用无效

    1.当注册了tabBar的时候,使用navigator时会发现不能跳转,这个时候需要在navigator上加上open-type=’switchTab’ 属性 <navigator open-t ...

  8. C#Winform使用CefSharp将WebBowser控件替换为Chrome内核

    先废话一段 ,好久没写博客了,也是跟环境工作有关,之前做技术,天天博客园的翻着 (还是喜欢博客园,因为大家都无私分享交流啊,不像CSDN啥东西都要积分,鄙视之),现在偶尔需要个什么东西了才打开VS写写 ...

  9. danci2

    composite 英 ['kɒmpəzɪt] 美 [kɑm'pɑzɪt] n. 复合材料:合成物:菊科 adj. 复合的:合成的:菊科的 vt. 使合成:使混合 a composite of 网络释 ...

  10. LOJ P10011 愤怒的牛 题解

    每日一题 day36 打卡 Analysis 非常水的二分模板,就直接二分答案,用贪心策略check就好了 #include<iostream> #include<cstdio> ...