• 使用编译好的包安装

一、在官网下载包

https://nodejs.org/en/download/

二、把包传送到服务器,进入到包目录并解压

tar axvf node-v6.9.5-linux-x64.tar.xz

三、进入到解压后的node包中的bin目录

cd node-v6.9.5-linux-x64/bin

四、查看node版本

./node -v

五、在opt目录下创建bin目录,用于后面的软连接配置

mkdir /opt/bin/

六、进入编译后的目录后,进行一些软连接配置,即可全局使用node/npm命令

ln -s /home/czp/node-v6.9.5-linux-x64/bin/node /opt/bin/node

ln -s /home/czp/node-v6.9.5-linux-x64/bin/npm /opt/bin/npm

这样就简单的部署好了

  • 使用源码安装

一、下载nodejs的依赖包

yum -y install gcc gcc-c++ openssl-devel

或yum -y install gcc make gcc-c++ openssl-devel wget

或yum install libtool automake autoconf gcc-c++ openssl-devel

二、官网下载node或者wget下载

官网下载:https://nodejs.org/en/download/

wget下载:wget http://nodejs.org/dist/v6.9.5/node-v6.9.5.tar.gz

三、解压包并进入

tar zxvf node-v6.9.5.tar.gz

cd node-v6.9.5

四、配置、编译、安装

./configure --prefix=/opt/nodejs

make 这个时间还是比较长的

make install

五、配置node环境

进入:vim /etc/profile

#set nodejs env

export NODE_HOME=/opt/nodejs

export PATH=$NODE_HOME/bin:$PATH

export NODE_PATH=$NODE_HOME/lib/node_modules:$PATH

重启生效:

六、检查版本

node -v

源码编译安装出现的问题

1、问题:./configure —prefix=/opt/node后报错WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)说明gcc版本太低需要升级

//绿色的字为错位的所在

解决方法:

GCC4.9.4官网有全版本下载:http://ftp.gnu.org/gnu/gcc/

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

2.解压缩:tar -xf gcc-4.9.1.tar.gz

3.进入到目录 cd gcc-4.9.1,运行:./contrib/download_prerequisites。这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。

4.建立输出目录并到目录里:mkdir gcc-build-4.9.1;cd gcc-build-4.9.1

5.配置

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

6.编译:make    这个时间有点长

7.安装:make install

8.验证:gcc -v

2、问题:/home/czp/node-v6.9.5/out/Release/mksnapshot: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/czp/node-v6.9.5/out/Release/mksnapshot)

/home/czp/node-v6.9.5/out/Release/mksnapshot: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/czp/node-v6.9.5/out/Release/mksnapshot)

make[1]: *** [/home/czp/node-v6.9.5/out/Release/obj.target/v8_snapshot/geni/snapshot.cc] 错误 1

make[1]: Leaving directory `/home/czp/node-v6.9.5/out'

make: *** [node] 错误 2

//绿色的字为错位的所在

解决方法:

1、查看 GLIBCXX 版本:

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

(我的系统是64bit的所以lib64,如果是32bit的直接lib)

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.15和GLIBCXX_3.4.20

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

find / -name “libstdc++.so.6”

/usr/lib64/libstdc++.so.6

/usr/local/lib64/libstdc++.so.6

/home/czp/gcc-4.9.1/gcc-build-4.9.1/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6

/home/czp/gcc-4.9.1/gcc-build-4.9.1/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6

/home/czp/gcc-4.9.1/gcc-build-4.9.1/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6

3、将上面的最新动态库 libstdc++.so.6 复制到 /usr/lib64 目录下:(就是最后一个)

cp /home/czp/gcc-4.9.1/gcc-build-4.9.1/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6 /usr/lib64

4、覆盖之后再次查看下最新动态库

find / -name “libstdc++.so.6”

此时能看到GLIBCXX_3.4.15和GLIBCXX_3.4.20

5、回到 node 目录下尝试重新编译

05-11 01:59