CircleCI忽略circle.yml

时间:2015-12-24 16:00:10

标签: node.js continuous-integration circleci

我的circle.yml设置为按current stable version安装CircleCI's docs个节点:

machine:
  node:
    version: 4.2.2

然而,Circle似乎忽略了这一点并使用默认的预稳定版本的节点。在我的错误消息中:

npm ERR! node v0.10.33
npm ERR! npm  v2.13.5

如何让CircleCI使用其配置文件中指定的节点版本?

2 个答案:

答案 0 :(得分:11)

您只能选择操作系统中预先安装的版本。 节点4.2.6现在是Ubuntu 14的默认版本。

Ubuntu 14有:https://circleci.com/docs/build-image-trusty/#nodejs

Ubuntu 12有:https://circleci.com/docs/build-image-precise/#nodejs

答案 1 :(得分:1)

我不确定我具体修复了什么,但这是我目前工作的CircleCI配置。注意 Circle的旧Ubuntu需要一个较新的编译器来运行当前稳定版本的节点

machine:
  node:
    version: 4.2.2

# From for occasional ELIFECYCLE errors compiling microtime
# https://discuss.circleci.com/t/using-node-js-4-0-on-circleci/26
dependencies:
  pre:
    - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test && sudo apt-get update
    - sudo apt-get install -y gcc-4.9 g++-4.9
    - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 10
    - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 10
    - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
    - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
    # Circle uses npm v2 by default
    - npm install -g npm@3.x.x