• 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 0

    Centos7 下编译安装 node.js

    Posted by 撒得一地 on 2017年7月17日 in 杂谈
    国外稳定加速器推荐    Express | Vypr

    最近有一台闲置的云服务器,便想装一下 nodejs 。官网上已经有集成编译好的二进制包,直接下载下来就能用。

    不过想,估计自己编译安装也花不了多少时间,便开始倒腾安装,结果碰到了好几个问题。所以强烈建议新手直接使用官网已经编译好的二进制包 == ,因为不一样的搭建环境,可能遇到各类林林总总的问题。

    下面附上编译安装的步骤:

    官网地址:https://nodejs.org/en/download/,选择 source code 那列进行源码下载:

    下载 nodejs 源码包

    如果你选择下载 Linux Binaies,下载下来的就是已经编译好的,可以直接使用,那么以下内容可以不看。如果你选择 source code 进行编译安装,那么可以接着往下看。 

    接下来开始下载安装:

    	下载
    	wget //nodejs.org/dist/v6.11.1/node-v6.11.1.tar.gz
    
    	解压缩
    	tar -zxvf node-v6.11.1.tar.gz 
            
        进入目录
    	cd node-v6.11.1
    	./configure --prefix=/usr/local/nodejs/
    

    出现警告:WARNING: warnings were emitted in the configure phase

    以为警告可以忽略,然后直接执行 make 命令:

    	make
    

    不过 make 也报错,出现错误:

    	make[1]: *** [/usr/local/src/node-v6.11.1/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/default-platform.o] Error 1
    
    	make[1]: Leaving directory `/usr/local/src/node-v6.11.1/out'
    
    	make: *** [node] Error 2
    

    查了下原因,原来是系统 gcc 版本太低,nodejs 源码编译要求gcc-c++版本最低为4.8,查看下 gcc 版本:

    [[email protected] node-v6.11.1]# gcc -v
    Using built-in specs.
    Target: x86_64-redhat-linux
    Configured with: ../configure –prefix=/usr –mandir=/usr/share/man –infodir=/usr/share/info –with-bugurl=//bugzilla.redhat.com/bugzilla –enable-bootstrap –enable-shared –enable-threads=posix –enable-checking=release –with-system-zlib –enable-__cxa_atexit –disable-libunwind-exceptions –enable-gnu-unique-object –enable-languages=c,c++,objc,obj-c++,java,fortran,ada –enable-java-awt=gtk –disable-dssi –with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre –enable-libgcj-multifile –enable-java-maintainer-mode –with-ecj-jar=/usr/share/java/eclipse-ecj.jar –disable-libjava-multilib –with-ppl –with-cloog –with-tune=generic –with-arch_32=i686 –build=x86_64-redhat-linux
    Thread model: posix
    gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) 

    我本地的 gcc-c++ 为 4.4.7 版本,无奈只能升级 gcc 到 4.8 版本以上。下面介绍 gcc 编译安装过程,安装前要先确保已经安装了 zip ,不然后面的步骤会报错。

    	安装zip
    	yum install zip  
    

     编译安装GCC需要GMP、MPFR、MPC这三个库,下面先分别安装这个三个库(注:下面 gmp、mpfr、mpc 、gcc都安装在 /usr/local/ 目录下):

    	先安装 gmp
    	[[email protected] local]# mkdir gmp
    
    	[[email protected] local]# cd gmp
    
    	[[email protected] gmp]# wget //ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/gmp-4.3.2.tar.bz2
    
    	[[email protected] gmp]# tar jxvf gmp-4.3.2.tar.bz2
    
    	[[email protected] gmp]# cd gmp-4.3.2
    
    	[[email protected] gmp-4.3.2]# mkdir /usr/local/gcc
    
    	[[email protected] gmp-4.3.2]# ./configure --prefix=/usr/local/gcc
    
    	[[email protected] gmp-4.3.2]# make && make install
    
    	安装 mpfr
    	[[email protected] local]# mkdir mpfr
    
    	[[email protected] local]# cd mpfr/
    
    	[[email protected] mpfr]# wget //ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/mpfr-2.4.2.tar.bz2
    
    	[[email protected] mpfr]# tar jxvf mpfr-2.4.2.tar.bz2
    
    	[[email protected] mpfr]# cd mpfr-2.4.2
    
    	[[email protected] mpfr-2.4.2]# ./configure --prefix=/usr/local/gcc --with-gmp=/usr/local/gcc/
    
    	[[email protected] mpfr-2.4.2]# make && make instal
    
    	安装 mpc
    	[[email protected] local]# mkdir mpc
    
    	[[email protected] local]# cd mpc
    
    	[[email protected] mpc]# wget //ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/mpc-0.8.1.tar.gz
    
    	[[email protected] mpc]# tar zxvf mpc-0.8.1.tar.gz
    
    	[[email protected] mpc]# cd mpc-0.8.1
    
    	[[email protected] mpc-0.8.1]# ./configure --prefix=/usr/local/gcc --with-gmp=/usr/local/gcc --with-mpfr=/usr/local/gcc
    
    	[[email protected] mpc-0.8.1]# make && make install
    
         最后安装gcc
    	[[email protected] local]# mkdir gcc
    
    	[[email protected] gcc]# cd gcc
    
    	[[email protected] gcc]# wget //ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.2.0/gcc-5.2.0.tar.gz
    
    	[[email protected] gcc]# tar zxvf gcc-5.2.0.tar.gz
    
    	[[email protected] gcc]# cd gcc-5.2.0
    
    	[[email protected] gcc-5.2.0]# ./configure -prefix=/usr/local/gcc -with-gmp=/usr/local/gcc --with-mpfr=/usr/local/gcc -with-mpc=/usr/local/gcc -disable-multilib
    
    	[[email protected] gcc-5.2.0]# make && make install
    

    make时出错:

    	configure: error: cannot compute suffix of object files: cannot compile
    
    	See `config.log' for more details.
    
    	make[2]: *** [configure-stage1-target-libgcc] Error 1
    
    	make[2]: Leaving directory `/usr/local/src/gcc-5.2.0'
    
    	make[1]: *** [stage1-bubble] Error 2
    
    	make[1]: Leaving directory `/usr/local/src/gcc-5.2.0'
    
    	make: *** [all] Error 2
    

    解决方法:

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gcc/lib/
    

    然后重新 make ,成功编译,接着执行 make install,然后成功安装 gcc,如下 :

    	make && make install
    

    然后查看下刚安装好的 gcc 的版本号: 

    [[email protected] gcc-5.2.0]# /usr/local/gcc/bin/gcc -v
    Using built-in specs.
    COLLECT_GCC=/usr/local/gcc/bin/gcc
    COLLECT_LTO_WRAPPER=/usr/local/gcc/libexec/gcc/x86_64-unknown-linux-gnu/5.2.0/lto-wrapper
    Target: x86_64-unknown-linux-gnu
    Configured with: ./configure -prefix=/usr/local/gcc -with-gmp=/usr/local/gcc –with-mpfr=/usr/local/gcc -with-mpc=/usr/local/gcc -disable-multilib
    Thread model: posix
    gcc version 5.2.0 (GCC)

    gcc虽然安装成功后,还要设置软连接,把旧版的 gcc 指到最新安装的版本下:

    	[[email protected] gcc-5.2.0]# ln -sb /usr/local/gcc/bin/gcc /usr/bin/gcc
    
    	[[email protected] gcc-5.2.0]# ln -sb /usr/local/gcc/bin/g++ /usr/bin/g++
    

    重新返回到 node.js 安装,重新 configure:

    	[[email protected] node-v6.11.1]# ./configure --prefix=/usr/local/nodejs/ 
    

    这次没出现错误 :)  ,接着执行 make 和 make install :

    	make && make install
    

    最后,成功安装完成。

    参考

    https://my.oschina.net/zchking/blog/97704
    //blog.sciencenet.cn/blog-830496-699204.html
    //www.runoob.com/nodejs/nodejs-install-setup.html

    //piro-shiki.dreamlog.jp/archives/45861883.html

    上一篇:

    下一篇:

    相关推荐

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    2 + 3 = ?

    网站地图|广东快乐10分开奖直播

    Copyright © 2015-2019 广东快乐10分开奖直播 All rights reserved.
    闽ICP备15015576号-1,版权所有?psz.

  • 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 北京pk10牛牛软件下载 双色球开奖号 福彩3d出号走势图-彩乐乐 看懂3d彩票走势图 喜乐彩票平台app 半全场胜平负是什么意思 海南环岛赛开奖记录 超级大乐透走势图表200 时时彩群 本港台现场报码直播 重庆时时彩官网 时时彩计划群太阳 高频彩输百万 半全场胜平负单场固定 手机pk10计划软件下载 六合彩全年资料