CircleCI 忽略 circle.yml 中指定的节点版本

CircleCI ignores node version specified in circle.yml

我的circle.yml设置为安装current stable version of node per CircleCI's docs:

machine:
  node:
    version: 4.2.2

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

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

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

我不确定具体修复了什么,但这是我当前工作的 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

您只能选择 OS 中预装的版本。 node 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