1.准备源文件包

[felix@MyTerminal Downloads]$ mv node-6.5.0 node

[felix@MyTerminal Downloads]$ ls

node node-v4.5.0-linux-x86.tar.xz
[felix@MyTerminal Downloads]$ cd node
[felix@MyTerminal node]$ ls
android-configure BUILDING.md common.gypi doc Makefile src WORKING_GROUPS.md
AUTHORS CHANGELOG.md configure GOVERNANCE.md node.gyp test
benchmark CODE_OF_CONDUCT.md CONTRIBUTING.md lib README.md tools
BSDmakefile COLLABORATOR_GUIDE.md deps LICENSE ROADMAP.md vcbuild.bat

2.执行./configure

[felix@MyTerminal node]$ ./configure
WARNING: failed to autodetect C++ compiler version (CXX=g++)  //需要安装gcc
creating ./icu_config.gypi
* Using ICU in deps/icu-small
creating ./icu_config.gypi
{ 'target_defaults': { 'cflags': [],
'default_configuration': 'Release',
'defines': [],
'include_dirs': [],
'libraries': []},
'variables': { 'asan': 0,
'debug_devtools': 'node',
'force_dynamic_crt': 0,
'gas_version': '2.20',
'host_arch': 'ia32',
'icu_data_file': 'icudt57l.dat',
'icu_data_in': '../../deps/icu-small/source/data/in/icudt57l.dat',
'icu_endianness': 'l',
'icu_gyp_path': 'tools/icu/icu-generic.gyp',
'icu_locales': 'en,root',
'icu_path': 'deps/icu-small',
'icu_small': 'true',
'icu_ver_major': '57',
'node_byteorder': 'little',
'node_enable_d8': 'false',
'node_enable_v8_vtunejit': 'false',
'node_install_npm': 'true',
'node_module_version': 48,
'node_no_browser_globals': 'false',
'node_prefix': '/usr/local',
'node_release_urlbase': '',
'node_shared': 'false',
'node_shared_cares': 'false',
'node_shared_http_parser': 'false',
'node_shared_libuv': 'false',
'node_shared_openssl': 'false',
'node_shared_zlib': 'false',
'node_tag': '',
'node_use_bundled_v8': 'true',
'node_use_dtrace': 'false',
'node_use_etw': 'false',
'node_use_lttng': 'false',
'node_use_openssl': 'true',
'node_use_perfctr': 'false',
'node_use_v8_platform': 'true',
'openssl_fips': '',
'openssl_no_asm': 0,
'shlib_suffix': 'so.48',
'target_arch': 'ia32',
'uv_parent_path': '/deps/uv/',
'uv_use_dtrace': 'false',
'v8_enable_gdbjit': 0,
'v8_enable_i18n_support': 1,
'v8_inspector': 'true',
'v8_no_strict_aliasing': 1,
'v8_optimized_debug': 0,
'v8_random_seed': 0,
'v8_use_snapshot': 'true',
'want_separate_host_toolset': 0}}
creating ./config.gypi
creating ./config.mk
WARNING: warnings were emitted in the configure phase

[felix@MyTerminal node]$ sudo yum install gcc-c++   //安装gcc
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.aliyun.com
* updates: mirrors.tuna.tsinghua.edu.cn
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package gcc-c++.i686 0:4.4.7-17.el6 will be installed
--> Processing Dependency: libstdc++-devel = 4.4.7-17.el6 for package: gcc-c++-4.4.7-17.el6.i686
--> Processing Dependency: libstdc++ = 4.4.7-17.el6 for package: gcc-c++-4.4.7-17.el6.i686
--> Processing Dependency: gcc = 4.4.7-17.el6 for package: gcc-c++-4.4.7-17.el6.i686
--> Running transaction check
---> Package gcc.i686 0:4.4.7-3.el6 will be updated
---> Package gcc.i686 0:4.4.7-17.el6 will be an update
--> Processing Dependency: libgomp = 4.4.7-17.el6 for package: gcc-4.4.7-17.el6.i686
--> Processing Dependency: cpp = 4.4.7-17.el6 for package: gcc-4.4.7-17.el6.i686
--> Processing Dependency: libgcc >= 4.4.7-17.el6 for package: gcc-4.4.7-17.el6.i686
---> Package libstdc++.i686 0:4.4.7-3.el6 will be updated
---> Package libstdc++.i686 0:4.4.7-17.el6 will be an update
---> Package libstdc++-devel.i686 0:4.4.7-17.el6 will be installed
--> Running transaction check
---> Package cpp.i686 0:4.4.7-3.el6 will be updated
---> Package cpp.i686 0:4.4.7-17.el6 will be an update
---> Package libgcc.i686 0:4.4.7-3.el6 will be updated
---> Package libgcc.i686 0:4.4.7-17.el6 will be an update
---> Package libgomp.i686 0:4.4.7-3.el6 will be updated
---> Package libgomp.i686 0:4.4.7-17.el6 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
gcc-c++ i686 4.4.7-17.el6 base 4.3 M
Installing for dependencies:
libstdc++-devel i686 4.4.7-17.el6 base 1.6 M
Updating for dependencies:
cpp i686 4.4.7-17.el6 base 3.4 M
gcc i686 4.4.7-17.el6 base 8.2 M
libgcc i686 4.4.7-17.el6 base 114 k
libgomp i686 4.4.7-17.el6 base 136 k
libstdc++ i686 4.4.7-17.el6 base 302 k

Transaction Summary
================================================================================
Install 2 Package(s)
Upgrade 5 Package(s)

Total download size: 18 M
Is this ok [y/N]: y
Downloading Packages:
(1/7): cpp-4.4.7-17.el6.i686.rpm | 3.4 MB 00:07
(2/7): gcc-4.4.7-17.el6.i686.rpm | 8.2 MB 00:25
(3/7): gcc-c++-4.4.7-17.el6.i686.rpm | 4.3 MB 00:11
(4/7): libgcc-4.4.7-17.el6.i686.rpm | 114 kB 00:00
(5/7): libgomp-4.4.7-17.el6.i686.rpm | 136 kB 00:00
(6/7): libstdc++-4.4.7-17.el6.i686.rpm | 302 kB 00:00
(7/7): libstdc++-devel-4.4.7-17.el6.i686.rpm | 1.6 MB 00:03
--------------------------------------------------------------------------------
Total 301 kB/s | 18 MB 01:01
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org>
Package: centos-release-6-4.el6.centos.10.i686 (@anaconda-CentOS-201303020136.i386/6.4)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : libgcc-4.4.7-17.el6.i686 1/12
Updating : libstdc++-4.4.7-17.el6.i686 2/12
Installing : libstdc++-devel-4.4.7-17.el6.i686 3/12
Updating : libgomp-4.4.7-17.el6.i686 4/12
Updating : cpp-4.4.7-17.el6.i686 5/12
Updating : gcc-4.4.7-17.el6.i686 6/12
Installing : gcc-c++-4.4.7-17.el6.i686 7/12
Cleanup : gcc-4.4.7-3.el6.i686 8/12
Cleanup : libstdc++-4.4.7-3.el6.i686 9/12
Cleanup : libgcc-4.4.7-3.el6.i686 10/12
Cleanup : cpp-4.4.7-3.el6.i686 11/12
Cleanup : libgomp-4.4.7-3.el6.i686 12/12
Verifying : libstdc++-devel-4.4.7-17.el6.i686 1/12
Verifying : libgcc-4.4.7-17.el6.i686 2/12
Verifying : cpp-4.4.7-17.el6.i686 3/12
Verifying : libstdc++-4.4.7-17.el6.i686 4/12
Verifying : gcc-4.4.7-17.el6.i686 5/12
Verifying : libgomp-4.4.7-17.el6.i686 6/12
Verifying : gcc-c++-4.4.7-17.el6.i686 7/12
Verifying : libstdc++-4.4.7-3.el6.i686 8/12
Verifying : cpp-4.4.7-3.el6.i686 9/12
Verifying : libgcc-4.4.7-3.el6.i686 10/12
Verifying : gcc-4.4.7-3.el6.i686 11/12
Verifying : libgomp-4.4.7-3.el6.i686 12/12

Installed:
gcc-c++.i686 0:4.4.7-17.el6

Dependency Installed:
libstdc++-devel.i686 0:4.4.7-17.el6

Dependency Updated:
cpp.i686 0:4.4.7-17.el6 gcc.i686 0:4.4.7-17.el6
libgcc.i686 0:4.4.7-17.el6 libgomp.i686 0:4.4.7-17.el6
libstdc++.i686 0:4.4.7-17.el6

Complete!

[felix@MyTerminal node]$ ./configure
WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)  //gcc版本太低,需要升级

//具体升级操作见另一篇博客http://www.cnblogs.com/felixzh/p/5824466.html

creating ./icu_config.gypi
* Using ICU in deps/icu-small
creating ./icu_config.gypi
{ 'target_defaults': { 'cflags': [],
'default_configuration': 'Release',
'defines': [],
'include_dirs': [],
'libraries': []},
'variables': { 'asan': 0,
'debug_devtools': 'node',
'force_dynamic_crt': 0,
'gas_version': '2.20',
'host_arch': 'ia32',
'icu_data_file': 'icudt57l.dat',
'icu_data_in': '../../deps/icu-small/source/data/in/icudt57l.dat',
'icu_endianness': 'l',
'icu_gyp_path': 'tools/icu/icu-generic.gyp',
'icu_locales': 'en,root',
'icu_path': 'deps/icu-small',
'icu_small': 'true',
'icu_ver_major': '57',
'node_byteorder': 'little',
'node_enable_d8': 'false',
'node_enable_v8_vtunejit': 'false',
'node_install_npm': 'true',
'node_module_version': 48,
'node_no_browser_globals': 'false',
'node_prefix': '/usr/local',
'node_release_urlbase': '',
'node_shared': 'false',
'node_shared_cares': 'false',
'node_shared_http_parser': 'false',
'node_shared_libuv': 'false',
'node_shared_openssl': 'false',
'node_shared_zlib': 'false',
'node_tag': '',
'node_use_bundled_v8': 'true',
'node_use_dtrace': 'false',
'node_use_etw': 'false',
'node_use_lttng': 'false',
'node_use_openssl': 'true',
'node_use_perfctr': 'false',
'node_use_v8_platform': 'true',
'openssl_fips': '',
'openssl_no_asm': 0,
'shlib_suffix': 'so.48',
'target_arch': 'ia32',
'uv_parent_path': '/deps/uv/',
'uv_use_dtrace': 'false',
'v8_enable_gdbjit': 0,
'v8_enable_i18n_support': 1,
'v8_inspector': 'true',
'v8_no_strict_aliasing': 1,
'v8_optimized_debug': 0,
'v8_random_seed': 0,
'v8_use_snapshot': 'true',
'want_separate_host_toolset': 0}}
creating ./config.gypi
creating ./config.mk
WARNING: warnings were emitted in the configure phase

4.执行make

$make  //出现问题/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found

意思是:缺少GLIBCXX_3.4.15版本。由于刚升级了gcc,理论上不会缺少GLIBCXX_3.4.15。

[felix@MyTerminal node]$ strings /usr/lib/libstdc++.so.6 | grep GLIBCXX  
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
[felix@MyTerminal node]$ strings /usr/local/lib/libstdc++.so.6|grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
[felix@MyTerminal node]$ sudo cp /usr/local/lib/libstdc++.so.6 /usr/lib/

5.执行make install

如果不是root权限,需要sudo

默认安装位置为/usr/local/bin

6.至此,Centos编译安装Node.js结束。

Centos6.4编译安装Node.js(已验证)的更多相关文章

  1. [Cubieboard] 在 Cubieboard 上安装 Node.js 和 npm

    你有两个选择可以实现在Cubieboard上安装NodeJS,下载别人已经编译完成适用于Cubieboard的NodeJS二进制包,或者自己下载源码自行在Cubieboard上进行编译. 使用编译完成 ...

  2. CentOS上安装Node.js

    CentOS上安装Node.js [日期:2014-07-21] 来源:Linux社区  作者:maskdfe [字体:大 中 小]     CentOS上安装Node.js(想在Linux上学习No ...

  3. 如何在CentOS 7安装Node.js

    最近,我一直对学习Node.js比较感兴趣.这是一个Java平台的服务器端编程 ,它允许开发人员在服务器编写Java代码,并且有许多CentOS的用户正努力学习这个语言的开发环境.这正是我想做这个教程 ...

  4. Linux 安装node.js ---- 源码编译的方式

    一 : 普通用户: 安装前准备环境: 1.检查Linux 版本 命令: cat /etc/redhat-release 2.检查 gcc.gcc-c++ 是否安装过 命令: rpm -q gcc rp ...

  5. Ubuntu14.04LTS下安装Node.js&NPM以及个人博客hexo的初始化配置

    什么是hexo Hexo 是一款基于node 的静态博客网站生成器作者 :tommy351是一个台湾的在校大学生...相比其他的静态网页生成器而言有着,生成静态网页最快,插件丰富(已经移植了大量Oct ...

  6. CentOS 下安装 Node.js 8.11.3 LTS Version

    Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google Chrome V8 JavaScript引擎,简单说是运行在服务端的 JavaScript.下面我们来演示一下Cen ...

  7. 在CentOS 7上安装Node.js的4种方法(yum安装和源码安装)

    CentOS 7上的安装方法,其中涵盖了源码安装,已编译版本安装,EPEL(Extra Packages for Enterprise Linux)安装和通过NVM(Node version mana ...

  8. 在linux中使用包管理器安装node.js

    网上文章中,在linux下安装node.js都是使用源码编译,其实node的github上已经提供了各个系统下使用各自的包管理器(package manager)安装node.js的方法. 1. 在U ...

  9. 在树莓派3B上安装node.js

    本文主讲如何在树莓派3B上安装node.js 环境描述1. 树莓派安装了`2016-11-25-raspbian-jessie-lite`(PS:在此版本的镜像中,默认禁用了ssh,在烧录好镜像之后, ...

随机推荐

  1. SQL中CONVERT转化函数的用法

    格式:CONVERT(data_type,expression[,style])说明:此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,c ...

  2. Random.nextint() 和Math.random()的区别

    Random.nextint() 和Math.random()的区别 Java代码   Random rand = new Random(); long startTime = System.nano ...

  3. MongoDB的快速手动安装

    上一篇文章<MongoDB.WebIDE:升级版的Mongodb管理工具>漏了点东西:就是关于MongoDB主从库的安装配置和启动.网上关于MongoDB的安装有大量的文章供大家学习.我这 ...

  4. Entity Framework 关系约束配置

    前言 简单的说一下自己的理解,大家应该都很明白ADO.NET,也就是原生态的数据库操作,直接通过拼接SQL语句,表与表之间通过链接(inner join  left join  或者子查询),也就是在 ...

  5. jquery 调用数据

    <body> <div id="aa" style="">hello</div> <div class="b ...

  6. XSS的DOS攻击之 server limit dos

    墨西哥同学周末很郁闷的在宾馆上网,发现youtube被ban了,于是写个了tool解决这个问题.顺带想到了一种利用 google 统计的漏洞,写在这里了 http://sirdarckcat.blog ...

  7. PowerDesigner15在win7-64位系统下对MySQL反向工程

    由于机器是win64位的,下载的64的connector安装测试成功,但是在powerdesigner中测试连不上,总算在下面这边博友中找到解决方案! http://blog.csdn.net/web ...

  8. ruby on rails揭开route路由的真面目

    文章是从我的个人主页上粘贴过来的, 大家也可以访问我的主页 www.iwangzheng.com 最近的项目里发现一个问题,大师和pp写的index页面就好使,我写index页面就不往index页面跳 ...

  9. 让jar程序在linux上一直执行

    当我们把java程序打成jar包后,放到linux上通过putty或其它终端执行的时候,如果按照:java -jar xxxx.jar执行,当我们退出putty或终端的时候,xxxx.jar这个程序也 ...

  10. 2015安徽省赛 F.多重部分和问题

    题目描述 有n种不同大小的数字,每种各个.判断是否可以从这些数字之中选出若干使它们的和恰好为K. 输入 首先是一个正整数T(1<=T<=100) 接下来是T组数据 每组数据第一行是一个正整 ...