Node.js containers on Circle 2.0 seem to default to v4.2.6 regardless of tag

I was able to setup testing node.js on Circle 2.0 for our server-side projects, but when trying to run tests for our React.js app I’m getting the following error:

npm WARN package.json betterpt-dashboard@0.0.3 No license field.
npm WARN prefer global node-gyp@3.6.2 should be installed with -g
npm ERR! Linux 3.13.0-129-generic
npm ERR! argv "/opt/circleci/nodejs/v4.2.6/bin/node" "/opt/circleci/nodejs/v4.2.6/bin/npm" "install"
npm ERR! node v4.2.6
npm ERR! npm  v2.14.12
npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package postcss@5.2.17 does not satisfy its siblings' peerDependencies requirements!

npm ERR! Please include the following file with any support request:
npm ERR!     /home/ubuntu/betterpt-web-app/npm-debug.log

npm install returned exit code 1

Action failed: npm install

I’m using the circleci/node:latest container.

EDIT: I discovered that the issue is that regardless of which node.js container I use, it is always building the project with node v4.26 which is not compatible with one of the packages the project is using.

2 Likes

Did you find a solution?

EDIT: I discovered that the issue is that regardless of which node.js container I use, it is always building the project with node v4.26 which is not compatible with one of the packages the project is using.

That was what I figured out too… For some reason, it defaults to use node 4.x when using the native docker node image too ¯_(ツ)_/¯

nvm… Turns out I had named the folder .circle instead of .circleci, so it never found the circle configuration :smiley:

1 Like