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并验证使用):

1.下载gcc最新的源码包 wget http://gcc.skazkaforyou.com/releases/gcc-4.9.1/gcc-4.9.1.tar.gz2.解压缩 tar -xf gcc-4.9.1.tar.gz3. cd gcc-4.9.14.运行download_prerequisites脚本, ./contrib/download_prerequisites ,这个脚本会自动帮你下载所需要的依赖文件和库

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

那么就打开该脚本:

vim ./contrib/download_prerequisites

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

继续:

5.建立输出目录,将所有的中间文件都放到该目录,mkdir gcc_tempcd gcc_temp6. 运行 ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib7. make & make install

编译安装的时间比较长。

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

./configure
make && make install

出错,使用 make test,提示:

[root@localhost node]# make test
make -C out BUILDTYPE=Release V=1
make[1]: 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.6: 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.6: version `GLIBCXX_3.4.15' not found (required by /usr/local/src/node/out/Release/mksnapshot)
make[1]: *** [/usr/local/src/node/out/Release/obj.target/v8_snapshot/geni/snapshot.cc] 错误 1
make[1]: Leaving directory `/usr/local/src/node/out'
make: *** [node] 错误 2

解决方案:

查看 GLIBCXX 版本:

[root@localhost 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

并没有 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.6
/usr/local/src/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/usr/local/src/gcc-4.9.1/gcc_temp/prev-i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/usr/local/src/gcc-4.9.1/gcc_temp/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/usr/local/src/gcc-4.9.1/gcc_temp/stage1-i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/usr/local/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6

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

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

此时重新查询:

[root@localhost lib]# 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_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 7上安装Node.js的4种方法(yum安装和源码安装)

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

  2. linux安装nodejs 7,在CentOS 7上安装Node.js的4种方法

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

  3. 虚拟机下的CentOS环境中安装Node.js

    http://archive.cnblogs.com/a/2159046/ 本来这个并没有什么好写的,为什么,网上到处都是.不过在安装的时候确实遇到了很多问题,很有必要记录一下. 先安装gcc-c++ ...

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

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

  5. centos/linux 安装node.js

    默认系统自带的2.4,版本过低,这里直接安装最新版本2.7 wget  http://www.python.org/ftp/python/2.7/Python-2.7.tar.bz2 tar jfvx ...

  6. 各平台安装Node.js

    下载: http://nodejs.org/download/ Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设在PO ...

  7. centos 云服务器部署Node.js项目

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又 ...

  8. Centos6.4编译安装Node.js(已验证)

    1.准备源文件包 [felix@MyTerminal Downloads]$ mv node-6.5.0 node [felix@MyTerminal Downloads]$ ls node node ...

  9. 如何在Linux上安装Node.js

    Node.js简介 Node.js是一个基于JavaScript的开源平台,用于开发服务器端和网络应用程序. Node.js是跨平台的,因此以Node.js编写的应用程序可以在任何平台上运行.它是建立 ...

最新文章

  1. Windows Phone 7 开发之:工具栏
  2. centreon问题总结
  3. 贝叶斯学习举例--学习分类文本
  4. 机器学习算法与Python实践之(一)k近邻(KNN)
  5. ListView使用技巧-更新中
  6. Redis Cluster搭建方法简介22211111
  7. Flash播放控件属性详解
  8. jquery添加div实现消息聊天框
  9. Oracle在Linux平台安装时涉及的/etc/security/limits.conf
  10. oracle 审计用户登录信息,Oracle预警用户登录锁定、过期及其审计信息
  11. HTTP请求时常见的请求方式与状态码
  12. linux ftp prompt off,FTP命令详解及使用技巧
  13. IIS提示您未被授权查看该页 401.1解决办法
  14. iOS 应用安装包瘦身
  15. 千寻的计算机字符,透过《战狼2》影评,细看简单字符处理 | R语千寻
  16. 一篇文章带你搞懂微信小程序的开发过程
  17. 项目经理常用软件大全
  18. 线性代数-向量,矩阵,线性变换
  19. 企业级应用Service Management Automation X(SMAX)的微服务之路
  20. 2023美国大学生数学建模竞赛E题光污染完整数据集和求解代码分享

热门文章

  1. 目标检测标注格式转换:labelme2yolo yolo2labelme
  2. aix下oracle 12.1.0.2 asmca不能打开的故障
  3. Spring Boot: 加密应用配置文件敏感信息
  4. 这才是智能家居真正的现状
  5. LintCode2016年8月8日算法比赛----子树
  6. MySQL数据库(10)----IN 和 NOT IN 子查询
  7. 『Spring.Net』为什么使用?
  8. 以优美方式编写JavaScript代码
  9. 设计模式系列-代理模式
  10. Windows server 2008 iis7 下配置PHP+MySql