node.js 的 GitHub 地址是:https://github.com/nodejs/node

官网源码包下载地址时:https://nodejs.org/en/download/

① 获取并编译源码(已经安装了 git)

git clone https://github.com/nodejs/node.git
cd node
git checkout

编译:

./configure

在编译的时候出错了:

提示:WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)

提示 C++ 编译器 g++ 版本太老。

解决方案(参考:linux下升级gcc的方法 – 亲测可用编译安装 gcc 4.9并验证使用):

.下载gcc最新的源码包 wget http://gcc.skazkaforyou.com/releases/gcc-4.9.1/gcc-4.9.1.tar.gz

.解压缩 tar -xf gcc-4.9..tar.gz

. cd gcc-4.9.

.运行download_prerequisites脚本, ./contrib/download_prerequisites ,这个脚本会自动帮你下载所需要的依赖文件和库

如果运行脚本失败,提示:PASV 无法连接到 209.132.180.131 端口号 10003

那么就打开该脚本:

vim ./contrib/download_prerequisites

把里面几个下载的命令注释掉(5 个 wget 命令),然后单独下载这 5 个源码包,拷贝到  gcc-4.9.0 目录下。

继续:

.建立输出目录,将所有的中间文件都放到该目录,

mkdir gcc_temp

cd gcc_temp

. 运行 ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

. make & make install

编译安装的时间比较长。

编译安装完成之后,再回到 node 目录,编译安装:

./configure
make && make install

出错,使用 make test,提示:

[root@localhost node]# make test
make -C out BUILDTYPE=Release V=
make[]: Entering directory `/usr/local/src/node/out'
LD_LIBRARY_PATH=/usr/local/src/node/out/Release/lib.host:/usr/local/src/node/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../deps/v8/tools/gyp; mkdir -p /usr/local/src/node/out/Release/obj.target/v8_snapshot/geni; "/usr/local/src/node/out/Release/mksnapshot" --log-snapshot-positions --logfile "/usr/local/src/node/out/Release/obj.target/v8_snapshot/geni/snapshot.log" --startup_src "/usr/local/src/node/out/Release/obj.target/v8_snapshot/geni/snapshot.cc" ""
/usr/local/src/node/out/Release/mksnapshot: /usr/lib/libstdc++.so.: version `GLIBCXX_3.4.20' not found (required by /usr/local/src/node/out/Release/mksnapshot)
/usr/local/src/node/out/Release/mksnapshot: /usr/lib/libstdc++.so.: version `GLIBCXX_3.4.15' not found (required by /usr/local/src/node/out/Release/mksnapshot)
make[]: *** [/usr/local/src/node/out/Release/obj.target/v8_snapshot/geni/snapshot.cc] 错误
make[]: Leaving directory `/usr/local/src/node/out'
make: *** [node] 错误

解决方案:

查看 GLIBCXX 版本:

[root@localhost node]# strings /usr/lib/libstdc++.so. | grep GLIBCXX
GLIBCXX_3.
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

并没有 GLIBCXX_3.4.20 和 GLIBCXX_3.4.15

参考: Linux升级安装GCC: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.15 not found

执行以下命令,查找编译 gcc 时生成的最新动态库:

find / -name "libstdc++.so.6"

查询结果:

[root@localhost gcc_temp]# find / -name libstdc++.so.
/usr/local/src/usr/lib/x86_64-linux-gnu/libstdc++.so.
/usr/local/src/gcc-4.9./gcc_temp/prev-i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.
/usr/local/src/gcc-4.9./gcc_temp/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.
/usr/local/src/gcc-4.9./gcc_temp/stage1-i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.
/usr/local/lib/libstdc++.so.
/usr/lib/libstdc++.so.

将上面的最新动态库 libstdc++.so.6 复制到 /usr/lib 目录下:

[root@localhost gcc_temp]# cp /usr/local/src/gcc-4.9./gcc_temp/stage1-i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so. /usr/lib

此时重新查询:

[root@localhost lib]# strings /usr/lib/libstdc++.so. | grep GLIBCXX
GLIBCXX_3.
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_3.4.20
GLIBCXX_DEBUG_MESSAGE_LENGTH

此时回到 node 目录下尝试重新编译。

完成。

查看 node 版本:

[root@localhost node]# node --version

输出:

[root@localhost node]# node --version
v6.0.0-pre

CentOS 6.6 安装 Node.js的更多相关文章

  1. CentOS 6 中安装Node.js 4.0 版本或以上

    如果想在CentOS 6 中安装Node.js >4.0,如果通过以往的方式安装: wget http://nodejs.org/dist/v4.0.0/node-v4.0.0.tar.gz t ...

  2. 如何在CentOS 7上安装Node.js和npm

    Node.js是一个跨平台的JavaScript运行时环境,允许在服务器端执行JavaScript代码.Node.js主要用于后端,但也作为全栈和前端解决方案而流行. npm,Node软件包管理器的缩 ...

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

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

  4. centos 6.5安装node.js

    1.检查是否安装gcc编译器 rpm -q gcc rpm -q gcc-c++ 2.如果没有安装则通过以下代码安装gcc编译器 yum -y install gcc-c++ kernel-devel ...

  5. CentOS 6.5安装Node.js, npm

    CentOS上可以通过下载*.tar.gz安装包的方式自己解压缩.编译的方式安装,同时还可以采用EPEL的方式安装: Node.js and npm are available from the Fe ...

  6. 在CentOS 7上安装Node.js的4种方法(包含npm)

    Node.js和Javascript有着千丝万缕的联系,可以说Node.js让Javascript显得从未如此强大.好吧…微魔其实是个门外汉…但是这并不能阻碍微魔学习探索未知的信心~今天在国外闲逛,看 ...

  7. 在CentOS 7上安装Node.js的4种方法

    一.源码安装 1.下载源码(官网查看最新版本链接) wget http://nodejs.org/dist/v0.10.30/node-v0.10.30.tar.gz 2.解压源码 tar xzvf ...

  8. Ubuntu 16.04/CentOS 6.9安装Node.js 6.9.5

    Ubuntu: CentOS: wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz tar -xvf node-v6.9. ...

  9. 在CentOS 7上安装Node.js

    一.安装1.进入官网下载最新版本https://nodejs.org/en/ 选择下载后上传或直接使用wget下载 wget https://nodejs.org/dist/v8.11.2/node- ...

随机推荐

  1. SVN版本库(访问权限)配置实例笔记

    http://blog.csdn.net/zjianbo/article/details/8578297 SVN版本库(访问权限)配置实例笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. ...

  2. main(int argc, char **argv)参数解读

    main(int argc, char **argv)参数解读 编译生成了test.exe ,然后在控制台下相应的目录下输入:test  1  2  3 4 argc就是一个输入了多少个参数,包括te ...

  3. phpcms手机门户相关

    相关标签 {$WAP['sitename']}标题 {list_url(3)} 调取栏目链接 {template "wap","header"}{templat ...

  4. ngCloak 实现 Angular 初始化闪烁最佳实践

    在做angular的SPA开发时,我们经常会遇见在如Chrome这类能够快速解析的浏览器上出现表达式({{ express }} ),或者是模块(div)的闪烁.对于这个问题由于JavaScript去 ...

  5. 【GWAS文献】基于GWAS与群体进化分析挖掘大豆相关基因

    Resequencing 302 wild and cultivated accessions identifies genes related to domestication and improv ...

  6. Java高并发同步Volatile的使用

    引言: 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”. 可见性的意思 ...

  7. linux安装wine

    1.添加PPA sudo add-apt-repository ppa:ubuntu-wine/ppa 2.更新列表 sudo apt-get update 3.安装Wine sudo apt-get ...

  8. jstl fortokens 分割字符串

    forTokens标签: forTokens标签用来截取字符串: 属性: * var :定义变量 * items :切分字符串 * begin :从哪开始 * end :到哪结束 * step :步长 ...

  9. 命令行环境下简单实用的工具——重定向&管道

    如果你对管道和重定向应用自如了,无需继续往下看.本文虽然以windows上cmd命令行环境演示,但同样适用于Unix/Linux等平台. 引言 关于管道和重定向,最初是在刘汝佳的<算法竞赛入门经 ...

  10. iOS8系统H264视频硬件编解码说明

    公司项目原因,接触了一下视频流H264的编解码知识,之前项目使用的是FFMpeg多媒体库,利用CPU做视频的编码和解码,俗称为软编软解.该方法比较通用,但是占用CPU资源,编解码效率不高.一般系统都会 ...