我的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使用其配置文件中指定的节点版本?
答案 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