美文网首页
CentOS7 安装 Node.js

CentOS7 安装 Node.js

作者: anlostsheep | 来源:发表于2020-05-15 15:35 被阅读0次

操作步骤

先下载 ==Node.js== 源码

  • 命令:

    mkdir /usr/local/nodejs
    cd /usr/local/nodejs
    wget https://npm.taobao.org/mirrors/node/v12.9.1/node-v12.9.1.tar.gz
    

进入到下载的目录进行操作

  • 命令:

    ll
    tar -zxvf node-v12.9.1
    cd node-v12.9.1
    ./configure
    make && make install
    

可能出现的问题

  • 问题一:

    <font color=red>WARNING: C++ compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++)</font>

    出现原因:==gcc== 版本过低,这是因为如果使用 yum install gcc gcc-c++ 的时候他安装的都是低版本的 4.8.0

    • 解决方法:安装较高版本的 ==gcc== (同样为源码编译安装)

      wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-9.2.0/gcc-9.2.0.tar.gz
      tar -zxvf gcc-9.2.0.tar.gz
      cd gcc-9.2.0
      # --diable-multiblib 的意思是安装 64 位版本的,安装 32 位的会出错
      ./configure --disable-multilib
      make && make install
      
  • 问题二:

    <font color=red>Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.</font>

    出现原因:编译安装 ==gcc== 需要依赖:==GMP== ,==MPFR==,==MPC==

    注意:==MPFR== 依赖 ==GMP==,而 ==MPC== 依赖 ==GMP== 和 ==MPFR==; 所以需要先安装 ==GMP==,其次 ==MPFR==,最后才是 ==MPC==

    • 解决方法(安装以上依赖,同样为源码安装):

      # 安装 bzip2
      yum install -y bzip2
      
      # 安装 GMP
      wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
      tar -jxvf gmp-6.1.0.tar.bz2
      cd gmp-6.1.0
      ./configure
      make && make install
      
      # 安装 MPFR
      wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
      tar -jxvf mpfr-3.1.4.tar.bz2
      cd gmpfr-3.1.4
      ./configure
      make && make install
      
      #安装 MPC
      wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
      tar -jxvf mpc-1.0.3.tar.gz
      cd mpc-1.0.3
      ./configure
      make && make install
      
  • 问题三:

    <font color=red>/usr/lib64/libstdc++.so.6: version ‘CXXABI_1.3.9’ not found</font>

    出现原因:升级 ==gcc== 后找不到动态库

    • 解决方法:

      # 进入 gcc 下载的目录
      cd gcc-9.2.0
      # 查找 libstdc++.so.6,使用 stage 版本的
      find . -name "libstdc++.so.6.*"
      ./stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27
      ./x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27
      ./prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27
      # 移除旧的 libstdc++.so.6 的软连接
      rm -f /lib64/libstdc++.so.6
      # 创建新的 libstdc++.so.6 的软连接
      ln -s ./stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27 /lib64/libstdc++.so.6
      

      查看动态库版本:

      strings /lib64/libstdc++.so.6 | grep CXXABI
      # 列表中有1.3.9即可
      CXXABI_1.3
      CXXABI_1.3.1
      CXXABI_1.3.2
      CXXABI_1.3.3
      CXXABI_1.3.4
      CXXABI_1.3.5
      CXXABI_1.3.6
      CXXABI_1.3.7
      CXXABI_1.3.8
      CXXABI_1.3.9
      CXXABI_1.3.10
      CXXABI_1.3.11
      CXXABI_TM_1
      CXXABI_FLOAT128
      

相关文章

网友评论

      本文标题:CentOS7 安装 Node.js

      本文链接:https://www.haomeiwen.com/subject/xibcohtx.html