CentOS 6.6 安装 Node.js
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的更多相关文章
- 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 ...
- 如何在CentOS 7上安装Node.js和npm
Node.js是一个跨平台的JavaScript运行时环境,允许在服务器端执行JavaScript代码.Node.js主要用于后端,但也作为全栈和前端解决方案而流行. npm,Node软件包管理器的缩 ...
- 在CentOS 7上安装Node.js的4种方法(yum安装和源码安装)
CentOS 7上的安装方法,其中涵盖了源码安装,已编译版本安装,EPEL(Extra Packages for Enterprise Linux)安装和通过NVM(Node version mana ...
- centos 6.5安装node.js
1.检查是否安装gcc编译器 rpm -q gcc rpm -q gcc-c++ 2.如果没有安装则通过以下代码安装gcc编译器 yum -y install gcc-c++ kernel-devel ...
- CentOS 6.5安装Node.js, npm
CentOS上可以通过下载*.tar.gz安装包的方式自己解压缩.编译的方式安装,同时还可以采用EPEL的方式安装: Node.js and npm are available from the Fe ...
- 在CentOS 7上安装Node.js的4种方法(包含npm)
Node.js和Javascript有着千丝万缕的联系,可以说Node.js让Javascript显得从未如此强大.好吧…微魔其实是个门外汉…但是这并不能阻碍微魔学习探索未知的信心~今天在国外闲逛,看 ...
- 在CentOS 7上安装Node.js的4种方法
一.源码安装 1.下载源码(官网查看最新版本链接) wget http://nodejs.org/dist/v0.10.30/node-v0.10.30.tar.gz 2.解压源码 tar xzvf ...
- 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. ...
- 在CentOS 7上安装Node.js
一.安装1.进入官网下载最新版本https://nodejs.org/en/ 选择下载后上传或直接使用wget下载 wget https://nodejs.org/dist/v8.11.2/node- ...
随机推荐
- HDU 4859 海岸线(最大流最小割)
难得的中文题,就不翻译了. 输入第一行为T,表示有T组测试数据.每组数据以两个整数N和M开始,表示地图的规模.接下来的N行,每一行包含一个长度为M的字符串,表示地图,‘.’表示陆地,’E’表示浅海域, ...
- NPOI导出EXCEL 打印设置分页及打印标题
在用NPOI导出EXCEL的时候设置分页,在网上有查到用sheet1.SetRowBreak(i)方法,但一直都没有起到作用.经过研究是要设置 sheet1.FitToPage = false; 而 ...
- CAEmitterLayer实现雪花效果
CAEmitterLayer 简介 在iOS5.0中,Apple引入了CAEmitterLayer层,CAEmitterLayer是一个高性能的粒子效果引擎,被用来创建实时粒子动画,如:烟雾,火,雨等 ...
- [Android Pro] listView和GridView的item设置的高度和宽度不起作用
referece to : http://blog.csdn.net/beibeixiao/article/details/9032569 1. 在Android开发中会发现,有时listVi ...
- 站点SEO优化日记之设置目标关键词
一.怎样确定关键词? 根据百度指数,选择搜索指数较高的作为候选关键词.一个关键词的搜索结果中,若大部分都为非首页链接,则该关键词可在短时间内通过优化获得好的排名,可选择此类关键词作为目标关键词. 二. ...
- Spring事务管理
Spring是SSH中的管理员,负责管理其它框架,协调各个部分的工作.今天一起学习一下Spring的事务管理.Spring的事务管理分为声明式跟编程式.声明式就是在Spring的配置文件中进行相关配置 ...
- Expression: is_block_type_valid(header->block_use)
VS2015 用 openmesh read_mesh 读取网格时,这样一段代码 void CPathFace::test2() { string file = ".\\data\\fa ...
- 命令大全/cmd/bash
端口占用及强杀 cmd命令 netstat -aon|findstr "8080" #查看占用pid tasklist|findstr "2448" #查看被哪 ...
- pat甲级题解(更新到1013)
1001. A+B Format (20) 注意负数,没别的了. 用scanf来补 前导0 和 前导的空格 很方便. #include <iostream> #include <cs ...
- C#连接Oracle数据库(直接引用dll使用)
转载至:http://www.cnblogs.com/gguozhenqian/p/4262813.html 项目中有个功能需要从一台Oracle数据库获取数据,本以为是很简单的事情,直接将原来的Sq ...