21312 发表于 2016-3-14 08:48:55

CentOS6.5源码安装nodejs4.4

                      此文章记录CentOS6.5下,安装当前最新稳定版nodejs。道路曲折,但也是自己几个小时的辛勤劳动,很满足。
1、nodejs下载NodeJS下载地址 https://nodejs.org/en/download/
# wget https://nodejs.org/dist/v4.4.0/node-v4.4.0.tar.gz
2、解压# tar -zxvf node-v4.4.0.tar.gz
# cd node-v4.4.0
3、预编译# ./configure --prefix=/usr/local/nodejs
有提示说c++版本太低

4、编译,出现报错
5、升级gcc版本到4.8

6、再次编译。# make
出现如下图错误,

又查资料,终于发现这个帖子下,这个回答好像是对的。
https://cnodejs.org/topic/568c8d9c04a9c540665c45a2

7、源码安装binutils1)先使用yum安装看是否能解决问题

报错还是一样
2)选择源码安装binutils其下载地址:
http://ftp.gnu.org/gnu/binutils/
# wget http://ftp.gnu.org/gnu/binutils/binutils-2.26.tar.gz
# ./configure --enable-shared --enable-gold --enable-ld
# make
# make install
8、再次编译nodejs再次编译的时候,问题变了,提示库文件不支持GLIBCXX_3.4.15版本

于是,使用yum安装libstdc++和libstdc++-devel,连32位版本都装上了。

错误依然。。。看来,库文件还是有问题。
再次发扬自己的搜索精神,终于找到了这个参考博客http://blog.iyunv.com/uid-14735472-id-5546498.html
思路就是,将加载的库文件软链接,链接到最新的库文件上。
检查动态库命令:
strings /usr/lib64/libstdc++.so.6 | grep GLIBC


# mv /usr/lib64/libstdc++.so.6 /tmp/

最后 ,支持了上文中提示库文件的版本错误。
7、编译、安装nodejs,并查看版本# make         
# make install
# /usr/local/nodejs/bin/node -v

                  

页: [1]
查看完整版本: CentOS6.5源码安装nodejs4.4