V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ben548
V2EX  ›  Node.js

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

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

    最近没啥事,准备倒腾一下 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:13 +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   ·   实用小工具   ·   1262 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:02 · PVG 02:02 · LAX 10:02 · JFK 13:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.