在测试服务器上面安装 node,需要 gcc4.8 版本,除了手动安装 gcc 之外有什么别的好办法吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ben548
V2EX    Node.js

在测试服务器上面安装 node,需要 gcc4.8 版本,除了手动安装 gcc 之外有什么别的好办法吗?

  •  
  •   ben548 2015-12-09 15:42:18 +08:00 12165 次点击
    这是一个创建于 3665 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近没啥事,准备倒腾一下 nodejs ,在安装的时候报错, WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)
    不过手动升级 gcc 非常之麻烦,不知道大家是怎么处理的呢?

    26 条回复    2015-12-10 11:47:34 +08:00
    Obzer
        1
    Obzer  
       2015-12-09 16:53:04 +08:00
    服务器版本都不说..怎么帮你
    oska874
        2
    oska874  
       2015-12-09 17:05:11 +08:00
    apt-get
    yum
    dnf
    yuriko
        3
    yuriko  
       2015-12-09 17:05:38 +08:00
    我直接用的二进制版本……
    jerray
        4
    jerray  
       2015-12-09 17:11:08 +08:00
    直接用二进制版本+1
    ben548
        5
    ben548  
    OP
       2015-12-09 17:58:3 +08:00
    @Obzer centos,不过我打算用前几位网友的做法试试,就是用二进制版本试试,谢谢各位了
    ben548
        6
    ben548  
    OP
       2015-12-09 17:58:57 +08:00
    @oska874 不行的,我试过 yum update gcc ,没有用,貌似只有手动更新才行
    jarlyyn
        7
    jarlyyn  
       2015-12-09 18:02:41 +08:00
    docker
    Monad
        8
    Monad  
       2015-12-09 19:11:08 +08:00 via iPhone
    其实从源代码编译 g++非常简单
    有互联网访问直接用 download_prerequiries 脚本下载以来 然后就等编译结束就行了
    Monad
        9
    Monad  
       2015-12-09 19:12:45 +08:00 via iPhone
    download_prerequisites
    znoodl
        10
    znoodl  
       2015-12-09 19:46:40 +08:00 via iPhone
    不详细说明自己的问题就问别人不是耍流氓吗?

    centos 也分版本的, centos7 自带 gcc4.8 , centos6 我记得是无法升级到 gcc4.8 的,我以前是源码编译的,不知道 epel 有没有 4.8 版本的 gcc

    还有安装编译 c++的 g++要用 yum install gcc-c++
    jasonworg
        11
    jasonworg  
       2015-12-09 19:52:48 +08:00
    adexbn
        12
    adexbn  
       2015-12-09 21:41:42 +08:00 via iPhone
    在其他地方编译好静态版本
    yiding
        13
    yiding  
       2015-12-10 00:54:40 +08:00 via iPhone
    docker 的确是好路子 但是对于只是尝试而言成本还是太高
    源码安装向来都是最推荐的
    btw 现在版本迭代的快 可以考虑看看 nvm 也是不错的
    LINAICAI
        14
    LINAICAI  
       2015-12-10 01:04:10 +08:00
    二进制版不是很方便吗?源码安装升级的时候一大坨问题, centos 的话 yum 安装也是分分钟的事情,只是看清楚版本,我记得我的 centos6.7 上 gcc 版本是 4.4 版的,没安装过 centos7 不清楚
    LINAICAI
        15
    LINAICAI  
       2015-12-10 01:07:43 +08:00
    最近把 mysql5.1 升级到 5.5 折腾了好长时间,吸取了一个教训,就是能别源码安装就别源码安装。。。尤其是生产环境~
    fany
        16
    fany  
       2015-12-10 01:49:07 +08:00 via iPhone
    官方 github 有 sh 自动安装脚本
    skydiver
        17
    skydiver  
       2015-12-10 03:41:46 +08:00 via iPad
    想装 gcc 也不麻烦,可以安装 https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/ 不会影响现有的 gcc ,然后可以用 scl 切换,很方便

    cc @Monad @znoodl
    49
        18
    49  
       2015-12-10 06:36:21 +08:00 via Android
    @skydiver 这个貌似不能用的,要换成 CentOS 的镜像
    fiture
        19
    fiture  
       2015-12-10 08:35:50 +08:00 via Android
    一直用二进制版本,再 ln 一下
    timonwong
        20
    timonwong  
       2015-12-10 08:39:33 +08:00
    估计是 CentOS6 , nodesource.org 提供的 rpm 包只到 v0.10.x ,其它都没有, gcc 也比较麻烦,但是也有解决办法,使用 RedHat 提供的 DevToolset:

    rpm -ivh https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/epel-6-x86_64/download/rhscl-devtoolset-3-epel-6-x86_64.noarch.rpm

    yum install devtoolset-3-gcc-c++

    然后使用 scl enable devtoolset-3 bash 开一个覆盖了系统原来 toolchain 的 shell 就可以了

    Refer:
    https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/
    Pastsong
        21
    Pastsong  
       2015-12-10 08:47:06 +08:00
    所以,你们为什么还要用 CentOS6 呢?
    libook
        22
    libook  
       2015-12-10 10:46:13 +08:00
    https://github.com/creationix/nvm

    优点:
    1. 全版本任意切换,一键安装
    2. 全局模块安装在自己的 home 下面,不需要 root 权限

    然后在 shell 的 rc 文件中配置淘宝 npm 镜像源:
    # Mirrors of nvm
    export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
    export NVM_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs

    # Mirror of npm
    alias cnpm="npm --registry=http://registry.npm.taobao.org \
    --cache=$HOME/.npm/.cache/cnpm \
    --disturl=http://npm.taobao.org/dist \
    --usercOnfig=$HOME/.cnpmrc"
    shyling
        23
    shyling  
       2015-12-10 11:01:49 +08:00 via Android
    用二进制版本?然后加入环境变量
    sarices
        24
    sarices  
       2015-12-10 11:13:03 +08:00
    二进制安装,然后 npm install -g n 随便升级版本
    skydiver
        25
    skydiver  
       2015-12-10 11:16:22 +08:00 via Android
    @49 必须能用啊,我们线上服务器都用的这个
    zealic
        26
    zealic  
       2015-12-10 11:47:34 +08:00
    Docker 是最好的方法了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2638 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 11:50 PVG 19:50 LAX 03:50 JFK 06:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86